我有2个xaml文件L1.xaml和L2.xaml 首先L1将打开。它有一个按钮,按下时打开L2。 但我希望L2在与L1相同的窗口中打开。
更准确地说,当点击按钮时,L1应该终止,L2应该开始,主窗口不会消失,即使是一秒钟。
答案 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?