2015-04-15 31 views
0

我在做TextBox綁定,如下所示。但背景顏色不會改變。任何幫助表示讚賞!WPF文本框背景綁定不起作用

<TextBox x:Name="FirstNameTextbox" Text="Test" Background="{Binding Path=FirstNameBackground,UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/> 

C#代碼:

public SolidColorBrush FirstNameBackground 
{ 
    get 
    { 
     return firstNameBackground; 
    } 
    set 
    { 
     firstNameBackground = value; 
     OnPropertyChanged("FirstNameBackground"); 
    } 
} 
+0

如果您關注MVVM,請不要使用x:Name。你的OnPropertyChanged實現看起來如何? –

+2

x:名稱在mvvm中工作得很好。 –

+0

您是否在Visual Studio的輸出窗口中看到任何綁定錯誤(它們通常顯示爲紅色)? –

回答

1

一對夫婦的事情。 A)

A)。你是否實現了INotifyPropertyChanged,沒有綁定到xaml將只能以單向方式工作,然後停止,因爲當屬性發生變化時無法通知。

B)。你的xaml沒有正確構建。您必須在文本框末尾有一個右括號,例如

<textbox/> 
or 
<textbox></textbox> 

C)。你的datacontext是如何設置的?如果它沒有設置任何內容,這將不起作用。這可以通過 a完成。 b。您的代碼隱藏中的datacontext =this b。在xaml中使用window.datacontext作爲xaml鍵設置datacontext

D)。給出的信息非常含糊,我只能根據我在構建xaml/wpf應用程序時看到的常見錯誤做出決定和建議。請提供更多關於 的信息1.如何設置datacontext。 2. xaml如何看起來像 3.完整的codebeind/viewmodel如果適用

+0

''並不是嚴格需要的,只要標籤在某處發佈的代碼可能是有效的。可能有附加屬性或OP不包括的其他對象。 –

+0

感謝您的提醒,編輯後 – maximdumont