在通知 View fx 时,我不确定为什么要使用 RaisePropertyChanging :
private LoggingLvl _myLoggingLvl;
public LoggingLvl MyLoggingLvl
{
get { return _myLoggingLvl; }
set
{
RaisePropertyChanging("MyLoggingLvl");
_myLoggingLvl = value;
RaisePropertyChanged("MyLoggingLvl");
}
}
为什么推荐使用
RaisePropertyChanging
? 最佳答案
在应用更改之前,使用 INotifyPropertyChanging
将允许使用代码有机会使用属性的先前值。这并不经常有用,但在某些情况下可能有用:如果您想象一个表示“事件对象”的属性,则此事件将允许您触发将在对象停用时触发的代码。
作为一个人为的示例,考虑一个 UI,其中需要以特定方式显示字段值的更改:旧值应该“ float ”离开屏幕,留下新值。如果模型类实现了 INotifyPropertyChanging
,则 View 模型类可以附加到此事件以缓存旧值以用于 float 动画。这允许模型类表示当前状态,而 View 模型可以维护驱动 UI 所需的所有值。
关于C# RaisePropertyChanging?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16333771/