【发布时间】:2013-06-12 17:00:39
【问题描述】:
我正在尝试创建 WPF 应用程序,但无法导航到按钮单击事件上的自定义 xaml 文件。我正在导入导航服务方法,但由于某种原因“NavigationService.Navigate”没有出现。它只向我显示 NavigationService.GetNavigationService。谁能告诉我可能是什么问题?
【问题讨论】:
标签: wpf uinavigationcontroller
我正在尝试创建 WPF 应用程序,但无法导航到按钮单击事件上的自定义 xaml 文件。我正在导入导航服务方法,但由于某种原因“NavigationService.Navigate”没有出现。它只向我显示 NavigationService.GetNavigationService。谁能告诉我可能是什么问题?
【问题讨论】:
标签: wpf uinavigationcontroller
NavigationService.Navigate 是 Page 对象的一部分。如果您从
继承您的 XAMLpublic 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));
【讨论】: