2008-12-01 38 views

回答

2

當您顯示XAML頁面時,是否註冊了鍵盤事件? 如果是這樣,當您從屏幕上刪除這些頁面時,是否忘記從鍵盤事件中註銷?

由於Silverlight中的UserControl或Page類(至少我知道)沒有「卸載」類事件,我做的是讓我的頁面實現一個接口,我定義的接口包含一個像「清理」或「關閉」。在我從屏幕上刪除控件之前,我調用控件上的Cleanup(),並讓它執行諸如註銷它可能已註冊的事件的註冊。

如果您沒有從事件中取消註冊,則該頁面的對象將永遠不會被垃圾回收,因爲CLR認爲該對象仍然存在。

+0

優秀。有兩個事件沒有正確清理。現在看起來工作得很好。 – BenMaddox 2008-12-01 03:44:40