我面临的问题是,当我设置数据时,属性变为null,
SelectedItem="{Binding PropertyName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
public className PropertyName
{
get{return this._PropertyName;}
set{this._PropertyName = value;}
}
问题是我在视图模型中分配数据
PropertyName = new className ();
当我调试并检查它时,setter中的"value"
为空
答案 0 :(得分:1)
问题在于Mode=two-way
,其中声明在UI上执行的任何更改都会反映到绑定的属性,反之亦然但是因为您尚未添加OnPropertyChanged
事件{{ 1}}绑定到UI的属性的接口,你面临问题。
只需将INotifyPropertyChanged
添加到绑定到UI的所有属性
PropertyChanged
答案 1 :(得分:0)
您的班级应该实施INotifyPropertyChanged
界面
public className PropertyName
{
get { return this._PropertyName; }
set
{
this._PropertyName = value;
if(PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("PropertyName"));
}
}
}
当你在代码用户界面中更改了属性值时,不知道它并将空值反映回你的属性。