如何使用WPF中的按钮导航到其他页面

gal*_*fan 11 c# wpf xaml button

我在名称下设置了第二个.xaml页面Page2.xaml,我希望这样做,以便在单击我的按钮时,用户被带到Page2.xaml

我的按钮位于我的内部Page1.xaml:

<Grid>
    <Button x:Name="localModeBtn" 
            Style="{StaticResource MainButtonStyle}"  
            Content="local mode" 
            Click="localModeBtn_Click" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

对于按钮事件处理程序:

private void localModeBtn_Click(object sender, RoutedEventArgs e)
    {
        Uri uri = new Uri("Page2.xaml", UriKind.Relative);
        this.NavigationService.Navigate(uri);
    }
Run Code Online (Sandbox Code Playgroud)

点击按钮后,我收到一条错误,上面写着"无法找到资源page2.xaml"这个东西Page2.xaml是在同一个文件夹中,Pag1.xaml所以我看不出哪里出错了?

gal*_*fan 17

解决我自己的问题:

我觉得有点愚蠢提供我自己的问题的解决方案但是由于Jasti的链接,我能够对我的代码进行排序.因为他只发表评论,我不能将其标记为答案,所以这是解决方案.

我将NavigationWindow更改为Window并插入:

<DockPanel>
    <Frame x:Name="_NavigationFrame" NavigationUIVisibility="Hidden" />
</DockPanel>
Run Code Online (Sandbox Code Playgroud)

在MainWindow.xaml.cs的构造函数中,我添加了:

_NavigationFrame.Navigate(new Page1());
Run Code Online (Sandbox Code Playgroud)

然后最后一步是将按钮事件处理程序调整为:

this.NavigationService.Navigate(new Uri("Pages/Page2.xaml", UriKind.Relative));
Run Code Online (Sandbox Code Playgroud)