我已經使用Silverlight 5創建了一個應用程序。其中有許多雙向數據綁定。我想通過恢復背後的對象來修改UI。例如:如何在Silverlight 5中恢復對象
我有一個對象後面包含屬性雙左,右,我從INotifyPropertyChanged繼承它。在用戶界面中,我創建了兩個按鈕(ButtonLeft和ButtonRight),並且他們的父類是一個Canvas控件,ButtonLeft在雙向模式下綁定Left屬性,而在雙向模式下ButtonRight綁定Right屬性。它工作得很好,如果我拖動ButtonLeft,那麼Left屬性將用新的Left值更新,與ButtonRight相同。
有什麼方法可以在UI更改後恢復舊值。實際上,我的應用程序中的類的關係非常複雜,我已經知道retore對象中的屬性的值將恢復UI,那麼是否有任何方式(更一般和鬆耦合)來還原所有需要的對象被恢復。
我曾想過爲需要保存和恢復狀態的對象創建一個接口IRestorable(Store(),Restore())。屬性需要恢復的屬性可恢復。對我來說,使用AOP可能是一個好主意,每次創建一個IRestorable實例時,AOP都會調用一個方法來保存對象的當前狀態(標記爲[Restorable]的屬性)。我不知道我是否正確。如果沒有,任何意見將不勝感激。