2011-12-12 74 views
3

在用於Windows Phone的Silverlight中我有幾個視圖模型是一次性的,並執行必要的清理,如Dispose()中的取消訂閱較長壽命服務的事件。導航回視圖時是否存在處理視圖模型的好模式?

當我瀏覽視圖堆棧並且最近的視圖模型完成其行爲完成時,我需要調用Dispose()。

以結構化的方式進行此操作的好方法有哪些?

回答

2

如果是IDisposable,則可以製作一個混合行爲或附加屬性,用於偵聽Unloaded event,然後在對象的DataContext上調用Dispose()。這可以在適當情況下附加到您的視圖。

+0

這聽起來很有用,但我還沒有真正看到其他地方。這是你自己嘗試過的嗎? –

+0

@JohannGerell是的,我現在正在我的一個項目中做這個。它工作正常。我需要這個強制保存/關閉某些ViewModel的調用,這很好。 –

相關問題