2010-10-02 34 views
1

我有一個WPF應用程序,並且我想根據用戶在運行時的選擇來修改UI的背景顏色。控制C#代碼中的XAML標籤

現在,我想創建一個按鈕,每一次它被點擊改變顏色,所以這個按鈕必須從XAML標記

請更改值,幫我做這件事,我需要很糟糕 感謝

回答

3

托馬斯已經給你能做什麼的一個例子。

另一種選擇是將背景顏色綁定到數據上下文的某些屬性(如果您使用的是MVVM,可能是ViewModel)並使按鈕單擊更改該屬性 - 可能間接通過命令。

他們只是不同的方法 - 直接設置背景色肯定是比通過綁定更簡單,但它可能不太容易測試。

4

從代碼中進行控制紅:

yourControl.Background = Brushes.Red; 
3

另一種選擇是將背景顏色綁定到DataContext中的某個屬性,並在單擊該按鈕時僅更新該屬性的值。這樣,您也可以將您的邏輯和顯示責任分開。

0

簡單地說。 XAML和C#沒有區別。最後它們都產生相同的可執行代碼。

要在GUI上更改屬性,您應該通過x:Name屬性命名您的控件,然後在後端代碼文件中設置您的屬性。或者您可以將您的屬性DataBind綁定到某個後臺字段,最好使用MVVM模式。

但是,在轉移到更高級的主題(如MVVM)之前,您應該首先了解WPF如何工作(ESPECIALY DataBinding)。