我坐在一个场景中,我相信我的系统开始出现缩放问题,我认为这源于没有做某事"正确的方式"
基本上我有一个Silverlight项目,在这个特定的域中我的模型有很多依赖项
int _Weight;
public int Weight
{
get { return _Weight; }
set
{
if (value != _Weight)
{
_Weight = value;
RaisePropertyChanged("Weight");
}
}
}
然后在该模型的外部,我的应用程序还将一个额外的事件链接到propertyChanged事件,如下所示
myObject.PropertyChanged += UpdateUI;
我的UpdateUI会做一堆图形内容,生成一些绑定不会满足的图像。
这很好用。
但现在假设我的Weight属性也对其他属性产生影响,那些也将触发它们的PropertyChanged事件(因为它们应该,因此绑定到这些属性的所有ui字段都会更新),但是它也会导致UpdateUI每次被解雇。
这意味着如果某个属性也影响其他3个属性,则只有在真正需要在最后一个属性之后触发时,UpdateUI才会触发4次。
它不会破坏任何东西,只是觉得效率低下,架构不正确。
基本上我要问的是,如何才能让我的UpdateUI仅在每个属性更改系列中触发一次
由于
答案 0 :(得分:1)
不知道你的架构我有两个想法。
我不熟悉Silverlight,只有WPF,但我想同样的原则适用。