WPF NavigationService.Navigate未显示在Expression Blend中

时间:2013-06-12 17:00:40

标签: wpf uinavigationcontroller

我正在尝试创建一个WPF应用程序,但我无法在按钮单击事件上导航到自定义xaml文件。我正在导入导航服务方法但由于某种原因导致“NavigationService.Navigate”没有显示。它只显示了NavigationService.GetNavigationService。谁能让我知道问题可能是什么?

Image Here

1 个答案:

答案 0 :(得分:6)

NavigationService.Navigate是Page对象的一部分。如果您从

继承您的XAML
public 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));