我正在寻找一种方法来交换我的应用程序的一部分内容与预定义的页面.我到目前为止ContentControl
,但我不能从我的页面复制内容.我用的代码是
ContentControl1.Content = new PageName().Content
Run Code Online (Sandbox Code Playgroud)
这给了我一个例外,说明了这一点 Specified element is already the logical child of another element. Disconnect it first.
有什么办法可以加载页面ContentControl
吗?
或者,有没有什么方法可以使用Visual Studio设计器来设计页面并以更容易加载的方式存储它们ContentControl
?
最后,这将成为我的一天,但是有什么办法可以让我ContentControl
在Window
包含它的声明方法中调用内容吗?
Edit2:为了能够加载页面,您需要删除内容控件并使用Frame或导航窗口。
编辑:我再次阅读了这个问题,并意识到您使用的是页面,以下解决方案仅适用于用户控件。如果您尝试使用 Page 对象,您仍然会收到错误。
为了在内容控件中加载用户控件,您可以尝试以下操作:
ContentControl1.Content = new UserControl();
Run Code Online (Sandbox Code Playgroud)
我认为从控件内的主窗口调用方法不是一个好主意,但如果您想这样做,可以将 Window 的实例传递给页面构造函数,并使用它从主窗口调用方法。