我手上有一个具体的问题。
我正在构建一个应用程序,在当前版本中,我有一个主要的xaml Grid元素,所有其他“页面”也只是Grid元素,其可见性属性为“隐藏”。
我正在寻找一种优化这种方法的方法,我已经对页面进行了一些测试,但由于我对XAML和C#没有经验,所以我们并没有真正做到最好。
假设我们的<Window>
主要为<Grid>
,并且该网格内部是应用程序的主要内容,还有另一个<Grid>
设置(就像现在一样)。
如何在用户按下“设置”按钮时加载“设置网格”的内容,并在用户关闭设置页面时将其卸载。
我曾考虑将其加载为一个页面,但我不希望用户从主要内容导航,而是将设置菜单作为叠加层。
是否有在现有XAML窗口内动态加载另一个XAML文件(带有设置元素)的解决方案?
感谢您的帮助!
答案 0 :(得分:1)
将您的On-Demand内容放在UserControl中,并根据需要加载UserControl。
UserControl1 ctrl = new UserControl1();
Grid1.Children.Add(ctrl);
很少有好的链接:
答案 1 :(得分:0)
我不确定你想要完成什么,但要动态加载xaml尝试XamlReader类:
System.Windows.UIElement el =(System.Windows.UIElement)System.Windows.Markup.XamlReader.Load(xaml);
一般来说,当我想要一个隐藏的东西直到一个动作发生时,我会将它的可见性绑定到视图模型上的一个属性,一些动作会设置属性的值(并触发一个propertychangedevent),然后显示内容。 / p>