【问题标题】:WPF NavigationService.Navigate not showing up in Expression BlendWPF NavigationService.Navigate 未显示在 Expression Blend 中
【发布时间】:2013-06-12 17:00:39
【问题描述】:

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

【问题讨论】:

    标签: wpf uinavigationcontroller


    【解决方案1】:

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

    继承您的 XAML
    public partial class MainWindow : Page
    

    而不是

    public partial class MainWindow : Window
    

    如果您想从主窗口导航到页面,请在主窗口中创建一个框架,如下所示

    <DockPanel>
            <Frame x:Name="_NavigationFrame" NavigationUIVisibility="Hidden" />
    </DockPanel>
    

    然后在你的主窗口构造函数调用

    _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));
    

    【讨论】:

    • 你能详细说明 (new CustomXml());" 我的 uri 应该是什么格式?
    • 请查看我对上述答案的编辑。让我知道您是否正在寻找相同的东西?
    • 如何从 secondPage 上的点击功能访问 customPage.xaml?以及如何通过 customPage.xaml 上的点击功能进入新页面?
    • 将此代码放在点击方法中 this.NavigationService.Navigate(new Uri("CustomPage.xaml", UriKind.Relative)); .将“CustomPage.xaml”页面替换为您要导航到的页面名称。如果您对此有任何疑问,请告诉我
    猜你喜欢
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多