我正在尝试创建一个WPF应用程序,但我无法在按钮单击事件上导航到自定义xaml文件。我正在导入导航服务方法但由于某种原因导致“NavigationService.Navigate”没有显示。它只显示了NavigationService.GetNavigationService。谁能让我知道问题可能是什么?
答案 0 :(得分:6)
NavigationService.Navigate是Page对象的一部分。如果您从
继承您的XAMLpublic partial class MainWindow : Page
而不是
public partial class MainWindow : Window
如果您想从主窗口导航到一个页面,请在主窗口中创建一个框架,如下所示
<DockPanel>
<Frame x:Name="_NavigationFrame" NavigationUIVisibility="Hidden" />
</DockPanel>
然后在你的mainwindow构造函数中调用
_NavigationFrame.Navigate(new CustomXml());
修改强>
很抱歉混淆CustomXaml只是CustomPage的名称。
我将使用以下设计进行页面导航应用
步骤1:创建MainWindow.Xaml并添加以下代码
<DockPanel>
<Frame x:Name="_NavigationFrame" NavigationUIVisibility="Hidden" />
</DockPanel>
Frame是所有页面的占位符。
步骤2:创建一个主页面MainPage.xaml(如主页),并将要置于MainWindow.XAML中的所有代码放入此MainPage.XAML中。要在应用程序加载时打开此主页,请在MainWindow.Xaml构造函数
中添加以下代码 _NavigationFrame.Navigate(new MainPage());
其中MainPage()是MainPage.XAML
步骤3:创建自定义页面CustomPage.XAML(您要导航到的页面)。要从第一页导航到此页面
this.NavigationService.Navigate(new Uri("CustomPage.xaml", UriKind.Relative));