我一直Breeze.Sharp.BaseEntity
在工作中使用基类一段时间,直到现在,使用它们的GetValue
和SetValue
属性插入INotifyPropertyChanged
接口都可以。但是,有时,从单个属性一次通知多个属性的更改是有利的。让我给你一个简单的例子。
假设我们要执行一个简单的求和。我们有一个ItemAmount
属性,一个ItemQuantity
属性和一个Total
属性。每次ItemAmount
或ItemQuantity
属性值发生变化时,我们也希望更新总数。传统上,我们可以这样做:
public double ItemAmount
{
get { return _itemAmount; }
set
{
_itemAmount = value;
NotifyPropertyChanged("ItemAmount");
NotifyPropertyChanged("Total");
}
}
public int ItemQuantity
{
get { return _itemQuantity; }
set
{
_itemQuantity = value;
NotifyPropertyChanged("ItemQuantity");
NotifyPropertyChanged("Total");
}
}
public double { get => ItemAmount * ItemQuantity; }
这将使框架还Total
根据需要在任一属性更改时更新该属性的值。但是,我找不到这样的方法来INotifyPropertyChanged
使用他们的基类调用接口,令人难以置信的是,他们似乎隐藏了对其实现的访问。
所以,我的问题是如何在使用Breeze.Sharp.BaseEntity
类时手动通知框架属性更改?
有什么方法可以连接到我还没有解决的实现吗?当我添加自己的实现时,它似乎没有与框架连接,也没有成功通知更改。提前谢谢了。