C#RaisePropertyChanging?

在通知视图fx时,我不确定为什么我应该使用RaisePropertyChanging

 private LoggingLvl _myLoggingLvl;
    public LoggingLvl MyLoggingLvl
    {
        get { return _myLoggingLvl; }
        set
        {
            RaisePropertyChanging("MyLoggingLvl");
            _myLoggingLvl = value;
            RaisePropertyChanged("MyLoggingLvl");
        }
    }

为什么建议使用RaisePropertyChanging?

最佳答案
在应用更改之前,使用INotifyPropertyChanging将允许消费代码有机会使用属性的先前值.这通常不会有用,但有些情况可能是:如果您想象一个表示“活动对象”的属性,则此事件将允许您触发在取消激活对象时将触发的代码.

作为一个人为的例子,考虑一个UI,其中需要以特定方式显示字段值的变化:旧值应该从屏幕“浮动”,留下新值.如果模型类实现了INotifyPropertyChanging,则viewmodel类可以附加到此事件,以便缓存旧值以在float动画中使用.这允许模型类表示当前状态,而viewmodel可以维护驱动UI所需的所有值.

转载注明原文:C#RaisePropertyChanging? - 代码日志