WPF 导航到其他页面
本文关键字:其他 导航 WPF | 更新日期: 2023-09-27 18:30:33
我只想在页面之间导航
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void RouteItems(object sender, RoutedEventArgs e)
{
NavigationService nav = NavigationService.GetNavigationService(this);
nav.Navigate(new ItemsPage());
}
}
获取导航服务返回空
值<Window x:Class="Special.MainWindow"
Name="Window"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Special"
mc:Ignorable="d"
Title="MainWindow" WindowState="Maximized">
<Button Content="Go" Click="RouteItems"/>
</Window>
我不想使用其他方法(更改内容)。
编辑
这。导航服务未定义
您需要首先向 Xaml 添加一个Frame
:
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Frame x:Name="MainFrame"></Frame>
<Button Content="Go" Click="RouteItems" Grid.Row="1"/>
</Grid>
然后在添加 XAML 页面后,使用大型机导航:
private void RouteItems(object sender, RoutedEventArgs e)
{
MainFrame.NavigationService.Navigate(new Uri("Page1.xaml", UriKind.RelativeOrAbsolute));
}