我已使用此处发布的答案实施了绑定:WPF Binding to local variable 还有这个: https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx
看起来像这样:
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值时 - 它会更新窗口上的文本框,但是更新窗口中的文本框 - 不会在代码中更新CardNumber的属性。
我错过了什么?
答案 0 :(得分:0)
默认情况下,更新仅在控件失去焦点时传播。我怀疑你希望他们立即更新,在这种情况下将“UpdateSourceTrigger = PropertyChanged”添加到你的绑定。