我是WPF新手,我想显示一个包含多个用户控件的窗口。
example.xaml
<DockPanel>
<Border x:Name ="TopRegion" DockPanel.Dock = "top">
<local:userControl1/>
</Border>
<Border x:Name ="leftRegion" DockPanel.Dock = "left">
<local:userControl2/>
</Border>
</DockPanel>
usercontrol1和usercontrol2是同一项目中的其他视图。 I.e usercontrol1.xaml和usercontrol2.xaml。
问题是我需要在运行时将usercontrol
leftRegion
从usercontrol2
更改为usercontrol3
,即以编程方式。
如何在example.xaml.cs程序中实现此目的。
答案 0 :(得分:1)
您已将Border
leftRegion 命名为,因此您可以使用此Border
设置新的子项
leftRegion.Child = new userControl3();
以编程方式编写代码。
这意味着您要使用userControl2
的新实例替换Border
的{{1}}实例。
答案 1 :(得分:-2)
虽然这是一个合法的请求,但它与XAML和数据绑定的逻辑交叉,所以我建议一种替代方法,它对最终用户具有相同的效果,但更符合XAML的精神。
解决方案很简单 - 只需在XAML中同时拥有两个控件,并根据是否需要显示一个或另一个控件来切换Visibility
。