我是WPF的新手,我有这种情况:
我有一个应用程序,其中包含应在不同时间(不同的应用程序状态)显示不同控件集的区域。
我想知道WPF中的方法是什么?
在winforms中,我会在运行时使控件可见/不可见。如果控件太多,我会将它们分组到Panels / UserControls上并显示/隐藏它们。
我的直觉告诉我在WPF中有更好的方法。
答案 0 :(得分:2)
在WPF中执行此操作有很多选项。除了通过设置Visibility隐藏和显示单个或控件组之外,您还可以使用不同的DataTemplates来包含每个状态的控件集并在这些控件之间切换。您只需要一个ContentControl,您可以在其上设置ContentTemplate。然后可以使用Trigger,Binding,代码或使用ContentTemplateSelector选择模板将ContentTemplate值切换到不同的DataTemplates。
答案 1 :(得分:1)
Visibility属性完美地描述了您的旧winforms习惯。
您还需要查看Visual States。这将允许您隐藏/显示多个控件甚至更改其他属性(即启用状态,字体颜色)。