2015-07-23 3 views
1

У меня есть ComboBox, как показано нижевыпадающего свойство текста TwoWay связывания не работает

<ComboBox VerticalAlignment="Center" 
      Width="83.84" 
      Canvas.Left="626.24" 
      Canvas.Top="249.088" DataContext="{Binding Items[0]}" 
      Text="{Binding TextVariable, Mode=TwoWay, NotifyOnValidationError=True, TargetNullValue='', ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" 
      Height="68.293" 
      Style="{StaticResource ComboBoxDialogControlQ69_74}" /> 

Проблема заключается в том: когда я установил значение TextVariable в моей модели представления он получает отображается на пользовательском интерфейсе. Но когда я изменяю его в пользовательском интерфейсе, он не обновляется в свойстве.

Я думаю, что мне не хватает чего-то очень очевидного, любая помощь приветствуется.

+3

попытаться добавить UpdateSourceTriger = "PropertyChanged" на связывание и внедрение INotifyProperyChanged, если вы не используя это. – Murilo

ответ

1

Это работает очень хорошо, когда я пытался делать, как показано ниже для текста связывания на ComboBox,

Text="{Binding TextVariable, Mode=TwoWay, UpdateSourceTrigger=LostFocus, NotifyOnValidationError=True, TargetNullValue='', ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" 

Я добавил еще одно свойство, чтобы сделать его доступным для редактирования.

IsEditable="True" 

, если вам нужно изменение на UpdateSourceTrigger изменения PropertyChange к PropertyChanged

UpdateSourceTrigger=PropertyChanged 

В.М.

public string TextVariable { 
     get 
     { return _TextVariable; } 
     set 
     { 
      _TextVariable = value; 
      NotifyPropertyChanged(); 
     } 
    } 
+0

IsEditable = "True", это было то, чего я отсутствовал. Друг указал на это. В любом случае спасибо Абин. – Aman

+0

Добро пожаловать :) –

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