[英]Will the WPF user Control be Disposed if used inside a Windows Form that will be disposed?
[英]WPF user control not being disposed
每次打開視圖時,對每個模型屬性的獲取請求的數量都會增加 1。 只是要清楚,如果我打開視圖一次,關閉它並再次打開它,每個屬性都有兩個獲取請求,如果設置了屬性並觸發了 RaisePropertyChanged("propertName") ,則再次有兩個獲取請求。 get請求的次數總是等於視圖被實例化的次數! 我已經調試了這個問題的生命,一切都表明當視圖關閉並且綁定被保留時,用戶控件沒有被處理。
我該怎么辦? 我已經研究過用戶控件的處理,但是我沒有成功找到幫助我解決這個問題的東西。 也許我沒有在尋找合適的主題? 任何幫助或指示將不勝感激 - 謝謝!
WPF 控件不實現 IDisposable,因此不需要處理。 我相信你想說“沒有被標記為符合垃圾收集條件”
您的問題似乎與所謂的事件引用有關。 您的某些活動實例(您擁有的某些類不是您的窗口/用戶控件)保留對事件的引用。 如果您關閉 Window 或 UserControl,該鏈接仍然存在並且不會自動清除。
關閉窗口/用戶控件時,您應該像這樣取消引用您的事件
EventName-= methodHandler
或this.UserControlInstance=null
你可以在這里讀到一些有趣的模式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.