WPF TabControl Unload倆次的解決方案

WPF中,有些控件會屢次觸發Unload,有點莫名其妙~html

Unload的屢次觸發

TabControl的內容,我是這麼設置的:git

  在TabItem的CacheSettingView中,監聽Loaded/Unloaded事件。github

  1. 當窗口加載時,觸發一次Loaded
  2. 不選中TabItem,並關閉窗口,觸發一次Unloaded
  3. 可是,若是選中相應的Tab並顯示了CacheSettingView內容後,再關閉窗口,會觸發倆次Unloaded

 緣由:倆次Unloaded,分別是由TabControl和TabItem觸發的。web

值得注意的是,切換Tab也會形成TabItem內控件Loaded和Unload事件的頻繁調用spa

發屢次Unload的詳細狀況,能夠參考同事大佬的博客《Why Unload Twice3d

 Unload屢次觸發的解決方案

如何解決?你能夠放棄TabControl,添加ListBox重寫樣式模板,也能夠按照以下方案修改:orm

右側的控件內容是否顯示,直接綁定TabItem的選中狀態。方案很簡單,只是爲了mark一下,之後本身方便查詢~htm

固然,你也能夠將TabItem改成RadioButton等blog

相關文章
相關標籤/搜索