C# 如何从App.xaml.cs导航到其他页面?
所以我的应用程序中有不同的页面。因为我希望在所有这些页面上都有一个菜单栏,所以我在App.xaml中做了如下操作 我通常会使用NavigationService在不同页面之间导航。 但是如何从App.xaml.cs导航到不同的页面呢C# 如何从App.xaml.cs导航到其他页面?,c#,wpf,C#,Wpf,所以我的应用程序中有不同的页面。因为我希望在所有这些页面上都有一个菜单栏,所以我在App.xaml中做了如下操作 我通常会使用NavigationService在不同页面之间导航。 但是如何从App.xaml.cs导航到不同的页面呢 <Application.Resources> <Menu x:Key="Menu"> <DockPanel VerticalAlignment="Top">
<Application.Resources>
<Menu x:Key="Menu">
<DockPanel VerticalAlignment="Top">
<Menu DockPanel.Dock="Top" FontSize="14">
<MenuItem Header="_File">
<Separator />
<MenuItem Header="_Exit" />
</MenuItem>
<MenuItem Header="_Statussen" Click="MenuItem_OnClick"/>
<MenuItem Header="_TipsTricks" />
</Menu>
</DockPanel>
</Menu>
</Application.Resources>
并获得以下错误:
System.NullReferenceException在最佳实践中,您应该使用主窗口启动应用程序 应用程序中的xaml
<Application x:Class="projectname.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Banc_Suspension_SAHD"
StartupURI="MainWindow.xaml.cs" // Right here !
Exit="App_Exit">
请澄清您的具体问题或添加其他详细信息,以突出显示您所需的内容。正如目前所写的,很难准确地说出你在问什么。有关澄清此问题的帮助,请参阅该页。@Hille更新了问题,希望现在问题更清楚?您发现了什么错误?为什么这不符合您的需要?你的主窗口有框架吗?@Hille用我的尝试和我得到的错误更新了它。你不能在一个页面上导航到另一个页面。你需要一些东西来像框架一样显示页面(
myFrame.NavigationService.Navigate(new TipsTricksPage());
)是的,我以前就是这样做的。但是如何让菜单以相同的点击事件显示在我的不同页面上?您有自己的窗口、框架和菜单
,因此菜单不受任何页面的影响changes@ErosGuil可以将框架添加到网格中,以明确页面应加载的位置
<Application x:Class="projectname.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Banc_Suspension_SAHD"
StartupURI="MainWindow.xaml.cs" // Right here !
Exit="App_Exit">
<Window x:Class="projectname.MainWindow"
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"
mc:Ignorable="d">
<Grid>
<Menu>
<MenuItem Header="Re-Impression PV">
<MenuItem Click = "MyActionClick"></MenuItem>
<MenuItem></MenuItem>
</MenuItem>
<Menu/>
</Grid>
</Window>
private void MyActionClick(object sender, RoutedEventArgs e)
{
//Your code
}