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

相关文章
相关标签/搜索