2016-04-03 3 views
0

Я выполнил связывание, используя ответ размещены здесь: WPF Binding to local variable и это: https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspxBinding текстового поля в МОФ

Это выглядит следующим образом:

public partial class AddCard: DXWindow, INotifyPropertyChanged 
{ 
    public event PropertyChangedEventHandler PropertyChanged; 
    private int _CardNumber; 

    public int CardNumber 
    { 
     get { return _CardNumber; } 
     set 
     { 
      if (value != _CardNumber) 
      { 
       _CardNumber = value; 
       OnPropertyChanged("CardNumber"); 
      } 
     } 
    } 

    private void OnPropertyChanged(string p) 
    { 
     if (PropertyChanged != null) 
      PropertyChanged(this, new PropertyChangedEventArgs(p)); 
    } 
} 

в XAML (я использую компоненты DevExpress):

<dx:DXWindow 
     DataContext="{Binding RelativeSource={RelativeSource Self}}" 
    .../> 

<dxe:TextEdit Text="{Binding Path=CardNumber}"/> 

проблема: При обновлении значения CardNumber в коде - это UPDA tes текстовое поле в окне, НО обновление текстового поля в окне - не обновляет свойство CardNumber в коде.

Что мне не хватает?

ответ

0

По умолчанию обновления распространяются только тогда, когда элемент управления теряет фокус. Я подозреваю, что вы хотите, чтобы они немедленно обновились, и в этом случае добавьте 'UpdateSourceTrigger = PropertyChanged' к вашей привязке.

+0

Спасибо! Он работает сейчас. – nlobak

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