所以我有一个包含 40 个左右属性的类,这些属性通过与微控制器的通信进行更新。此类实现 INotifyPropertyChanged。
松散示例:
private int _Example;
public int Example
{
get
{
return _Example;
}
set
{
_Example = value;
OnPropertyChange("Example");
}
}
和 OnPropertyChange 函数:
protected void OnPropertyChange(string p_Property)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(p_Property));
}
}
public event PropertyChangedEventHandler PropertyChanged;
绑定(其中许多)
Second_Class_Control.DataBindings.Clear();
Second_Class_Control.DataBindings.Add("My_Property", FirstClass, "Example");
在主窗体中,我设置了绑定来显示这些值并对这些值做出反应。其中一个碰巧落在另一类的另一处房产上。我碰巧在这个属性的 set 函数中放置了一个断点,并注意到它在任何时候第一个类的任何属性发生变化时都会被调用。
这是正确的行为吗?我没有注意到任何性能损失,但我计划让这些类的许多实例一起运行并且没想到会出现这种情况。
谢谢