【问题标题】:How to raise property changed event from outside of Entity?如何从实体外部引发属性更改事件?
【发布时间】:2012-05-02 18:27:43
【问题描述】:

实体已经实现了 PropertyChanged。如果属性发生变化,PropertyChanged 将被触发。
我现在想要的是:我想在代码中触发 PropertyChanged 事件,即使值实际上没有改变(出于绑定目的)。我想从实体外部做一些事情:

MyEntity.RaisedPropertyChanged("myProperty");

也知道 Entities 有 OnPropertyChanged 方法,但它是受保护的,只在类或其子类内部可用。

如何实现这个请求?

【问题讨论】:

    标签: c# entity-framework-4 wcf-ria-services


    【解决方案1】:

    其他人可能会指出为什么您不应该这样做,但一个简单的事情是添加一个公共方法,该方法中继到受保护的方法。

    public partial class MyEntity
    {    
        public void RaisePropertyChanged(string propertyName)
        {
           this.RaisedPropertyChanged(propertyName);
        }
    }
    

    【讨论】:

    • 谢谢。试过后发现很容易导致死循环,导致应用崩溃。
    【解决方案2】:

    您可以在MyEntity 的分部类中创建一个公共方法,该方法会触发调用受保护的方法。

    【讨论】:

      猜你喜欢
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 2016-12-14
      • 2021-04-10
      • 1970-01-01
      相关资源
      最近更新 更多