属性变为null C#WPF

时间:2013-12-12 05:52:30

标签: c# wpf properties null

我面临的问题是,当我设置数据时,属性变为null,

SelectedItem="{Binding PropertyName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"

public className PropertyName
{
get{return this._PropertyName;}
set{this._PropertyName = value;}
}

问题是我在视图模型中分配数据

PropertyName = new className ();

当我调试并检查它时,setter中的"value"为空

2 个答案:

答案 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"));
       }
    }
}

当你在代码用户界面中更改了属性值时,不知道它并将空值反映回你的属性。