2015-04-15 3 views
0

Я выполняю привязку TextBox, как показано ниже. Но цвет фона не меняется. Любая помощь приветствуется!WPF TextBox привязка фона не работает

<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). Вы внедрили INotifyPropertyChanged, без привязки к xaml, будет работать только один путь, а затем остановится, так как невозможно изменить уведомление об изменении свойства.

B). Ваш xaml некорректно построен. У вас должен быть закрывающий кронштейн в конце текстового поля, например

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

C). Как устанавливается набор данных? Если он не настроен ни на что, это не сработает. Это можно сделать с помощью a. datacontext =this в вашем кодебе b. настройки datacontext в xaml с использованием window.datacontext в качестве ключа xaml

D). Указанная информация очень смутная, и я могу принимать решения и предложения, основанные на распространенных ошибках, которые я видел при создании приложений xaml/wpf. Пожалуйста, предоставьте дополнительную информацию о 1. Как устанавливается датаканал. 2. Как выглядит полный xaml 3. полный код/​​вид модели, если применимо

+0

'' не является строго необходимым, если тег закрыт где-то, что размещенный код может быть действительным. Могут быть прикреплены свойства или другие объекты, которые OP не включал. –

+0

Благодарим за напоминание, отредактированный пост – maximdumont

Смежные вопросы