WPF数据绑定属性丢失值

本文关键字:属性 数据绑定 WPF | 更新日期: 2023-09-27 17:50:29

嗨,我有一个视图模型,我可以在构造函数中跟踪某个项目的值。我正在使用MVVM模型打开一个对话框窗口。

例子
private int _myField;
public ClassName(int MyProperty)
{
  _myField = MyProperty;
}
public int MyIntProperty
{
   get{ return _myField;}
   set { _myField = value;}
} 

这显然是完美的。但是一旦窗口打开,视图模型中的值就会改变。让我们说_myField从1到8没有任何交互。我已经遍历了代码,并且没有其他与字段的交互。

也不在代码示例中是绑定属性。

以前有人遇到过这种情况。这把我难住了。

编辑:包含示例中缺失的属性

WPF数据绑定属性丢失值

你应该:

1)在ClassName上实现INotifyPropertyChanged。这将允许你在改变MyIntProperty时引发PropertyChanged事件。WPF将监听此事件并相应地更新UI。

2)使ClassName继承自DependancyObject和MyIntProperty的依赖属性。