簡體   English   中英

未處理 WPF 用戶控件

[英]WPF user control not being disposed

每次打開視圖時,對每個模型屬性的獲取請求的數量都會增加 1。 只是要清楚,如果我打開視圖一次,關閉它並再次打開它,每個屬性都有兩個獲取請求,如果設置了屬性並觸發了 RaisePropertyChanged("propertName") ,則再次有兩個獲取請求。 get請求的次數總是等於視圖被實例化的次數! 我已經調試了這個問題的生命,一切都表明當視圖關閉並且綁定被保留時,用戶控件沒有被處理。

我該怎么辦? 我已經研究過用戶控件的處理,但是我沒有成功找到幫助我解決這個問題的東西。 也許我沒有在尋找合適的主題? 任何幫助或指示將不勝感激 - 謝謝!

WPF 控件不實現 IDisposable,因此不需要處理。 我相信你想說“沒有被標記為符合垃圾收集條件”

您的問題似乎與所謂的事件引用有關。 您的某些活動實例(您擁有的某些類不是您的窗口/用戶控件)保留對事件的引用。 如果您關閉 Window 或 UserControl,該鏈接仍然存在並且不會自動清除。

關閉窗口/用戶控件時,您應該像這樣取消引用您的事件

EventName-= methodHandlerthis.UserControlInstance=null

你可以在這里讀到一些有趣的模式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM