如何在Silverlight 5中恢复对象

时间:2014-01-30 17:11:49

标签: aop silverlight-5.0 loose-coupling

我使用Silverlight 5创建了一个应用程序。里面有很多双向数据绑定。我想通过恢复后面的对象来恢复UI的更改。例如:

我有一个对象,其中包含属性double Left,Right,我从INotifyPropertyChanged继承它。在UI中,我创建了拖动按钮(ButtonLeft和ButtonRight),其父级为Canvas Control,ButtonLeft以双向模式绑定Left属性,ButtonRight以双向模式绑定Right属性。它工作得非常好,如果我拖动ButtonLeft,那么Left属性将使用新的Left值更新,对于ButtonRight也是如此。

有没有办法在更改UI后恢复旧值。实际上,我的应用程序中的类关系非常复杂,我已经知道在对象中恢复属性的值会恢复UI,所以有没有办法(更通用和松散耦合)来恢复所有需要的对象要恢复。

我想过为需要保存和恢复状态的对象创建一个IRestorable接口(Store(),Restore())。属性可恢复属性需要恢复。对我来说,使用AOP可能是一个好主意,每当创建一个IRestorable实例时,AOP将调用一个方法来保存对象的当前状态(标记为[Restorable]的属性)。我不知道我是不是正确的方式。如果没有,任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)