首页 > 解决方案 > WPF this.NavigationService.Navigate

问题描述

我正在从 Microsoft 网站学习 WPF 教程,该教程如下:

https://docs.microsoft.com/en-us/dotnet/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application#add-code-to-handle-events

我从我的代码中收到以下错误:

private void Button_Click(object sender, RoutedEventArgs e)
{
    //View Expense Report
    ExpenseReportPage expenseReportPage = new ExpenseReportPage(); //Line 1
    this.NavigationService.Navigate(expenseReportPage); // Line 2
}

上面代码中的第 2 行为 NavigationService 提供了以下错误:

'invalid-global-code' 不包含'NavigationService' 的定义,并且找不到接受'' 类型的第一个参数的可访问扩展方法'NavigationService'(您是否缺少 using 指令或程序集引用?)

我添加了 using System.Windows.Navigation; 我认为问题出在 this.NavigationService.Navigate(expenseReportPage); 的“this”部分。

标签: c#wpfnavigationservice

解决方案


Window将元素更改为NavigationWindow元素,或将Frame元素添加到窗口并访问其NavigationService属性:

frame.NavigationService.Navigate(expenseReportPage); // Line 2

XAML:

<Window ...>
    <Frame x:Name="frame" />
</Window>

推荐阅读