【发布时间】:2022-08-15 20:38:20
【问题描述】:
我有 WPF 应用程序...
<TabControl>
<TabItem Header=\"General\">
<usercontrol1 />
</TabItem>
<TabItem Header=\"Security\" >
<usercontrol2 />
</TabItem>
<TabItem Header=\"Details\" >
<usercontrol3 />
</TabItem>
</TabControl>
默认情况下,当我查看页面时会加载所有用户控件,只有在单击并激活选项卡时才需要加载每个用户控件。 我怎样才能实现这种行为?谢谢你 。
-
如果您使用 mvvm,您可以虚拟化您的选项卡控件。绑定一组视图模型。为它们定义一个或多个数据模板。只有可见的选项卡内容将被实例化。
-
TabControl 只有一个内容宿主(用于显示选定的选项卡)。不明白你的意思。默认情况下只能呈现单个选项卡内容。
-
也许您对 UserControl 的 Loaded 事件感兴趣?
-
如果您像在帖子中那样在 xaml 中定义项目,那么它们都是在创建父视图时创建的。不难想象每个人都会发生一些昂贵的事情。传播它很可能意味着父视图已经启动并且可以更快地使用。
标签: wpf