MVVMLight 5突破了变化?

时间:2014-10-21 13:59:06

标签: wpf mvvm-light

我使用了一个小的基本视图模型来覆盖RaisePropertyChangedRaisePropertyChanging,因此我可以在不传递属性名称的情况下引发通知(并自动获取)。登记/> 这就是它的实现方式:

public class MyBase_ViewModel : ViewModelBase
{   
    [NotifyPropertyChangedInvocator]
    protected override void RaisePropertyChanged([CallerMemberName]string property = "")
    {
        base.RaisePropertyChanged(property);
    }

    [NotifyPropertyChangedInvocator]
    protected override void RaisePropertyChanging([CallerMemberName]string property = "")
    {
        base.RaisePropertyChanging(property);
    }
}

我刚从MvvmLight 4.something升级到5.0.2,我遇到的一个问题是它抱怨:没有合适的覆盖方法。 RaisePropertyChanging

有任何建议/想法吗?

1 个答案:

答案 0 :(得分:0)

似乎从MVVM 5中删除了RaisePropertyChanging。以下是Laurent(作者)的引用:

  

我不得不删除PropertyChanging支持,因为PCL框架不支持此事件。我试图看看我是否有一个很好的替代版本。

如果碰巧碰到这个,你可以删除重写方法,它应该可以工作。好像什么都不会发生。

另一方面,RaisePropertyChanging似乎是在你想要在它消失之前对它做某事的时候使用的,而我实际上从未使用它。如果您需要它,您可以转到此主题,作者建议他可以根据需要提供解决方法:original thread on mvvm codeplex