如何在同一窗口中切换到另一个xaml文件?

时间:2015-10-17 13:25:40

标签: c# wpf xaml window

我有2个xaml文件L1.xaml和L2.xaml 首先L1将打开。它有一个按钮,按下时打开L2。 但我希望L2在与L1相同的窗口中打开。

更准确地说,当点击按钮时,L1应该终止,L2应该开始,主窗口不会消失,即使是一秒钟。

2 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点。 1.-您可以创建一个导航页面和他们需要成为页面的L1.xaml和L2.xaml。 这是一篇很好的文章。 http://paulstovell.com/blog/wpf-navigation

2.-您可以在MainPage中添加一个Frame控件,使用此控件可以在页面之间导航(同样,您的L1和L2必须是Pages。(它几乎与第一个点相同但差异很大)你可以在UserControl等其他控件中使用Frame控件。

3.-您可以使用ContentControl或ContentPresenter作为容器,当用户单击某个按钮以显示L1或L2 xaml时,这些控件具有属性Content(如果它们是UserControl或Page,则无关紧要)只需要创建一个新的视图实例,例如: MyContentControl.Content = new MyView1();

显然,这种技术非常简单,您需要检查这些选项中哪些足以满足您的要求。

最诚挚的问候!

答案 1 :(得分:0)

您需要做的是创建一个导航页面,然后将L1和L2修改为页面。这将允许您在运行时交换页面并使用事件来分配页面。 请参阅此堆栈溢出页面以了解实现的不同方法 Window vs Page vs UserControl for WPF navigation?