WPF中,有些控件會多次觸發Unload,有點莫名其妙~
Unload的多次觸發
TabControl的内容,我是這麼設定的:

在TabItem的CacheSettingView中,監聽Loaded/Unloaded事件。
- 當視窗加載時,觸發一次Loaded
- 不選中TabItem,并關閉視窗,觸發一次Unloaded
- 但是,如果選中相應的Tab并顯示了CacheSettingView内容後,再關閉視窗,會觸發倆次Unloaded
原因:倆次Unloaded,分别是由TabControl和TabItem觸發的。
值得注意的是,切換Tab也會造成TabItem内控件Loaded和Unload事件的頻繁調用
觸發多次Unload的詳細情況,可以參考同僚大佬的部落格《
Why Unload Twice》
Unload多次觸發的解決方案
如何解決?你可以放棄TabControl,添加ListBox重寫樣式模闆,也可以按照如下方案修改:
右側的控件内容是否顯示,直接綁定TabItem的選中狀态。方案很簡單,隻是為了mark一下,以後自己友善查詢~
當然,你也可以将TabItem改為RadioButton等
作者:
唐宋元明清2188出處:
http://www.cnblogs.com/kybs0/本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須在文章頁面給出原文連接配接,否則保留追究法律責任的權利。