Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从App.xaml.cs导航到其他页面?_C#_Wpf - Fatal编程技术网

C# 如何从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">

所以我的应用程序中有不同的页面。因为我希望在所有这些页面上都有一个菜单栏,所以我在App.xaml中做了如下操作

我通常会使用NavigationService在不同页面之间导航。 但是如何从App.xaml.cs导航到不同的页面呢

<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
        }