单击时,获取MenuItem以切换到不同的可见窗口

时间:2015-09-03 15:24:03

标签: c# wpf visual-studio-2013 menuitem

我正在使用MS Visual Studio Community 2013中的C#。我正在尝试设置一个MenuItem,以便在单击时导致当前窗口隐藏自身,另一个窗口出现在同一位置。

我有几本关于这个主题的书籍,我也花了很多时间在线搜索答案。但是,当我们做一些相对简单的事情时,我根本无法找到解决方法。

我之前使用旧版本的C#完成了它,但似乎无法使用Visual Studio Community 2013进行整理。

在这个阶段,我有一个菜单和菜单项设置类似于简化的'以下内容:

<Menu HorizontalAlignment="Left" Height="21" Margin="10,10,0,0" VerticalAlignment="Top" Width="1264" Grid.ColumnSpan="2" FontWeight="Medium" FontSize="14">
    <MenuItem Header="Item Type" Margin="0" Width="100" Height="21" FontSize="11" Click="MenuItem_Click">
        <MenuItem Header="Item Action" HorizontalAlignment="Left" Width="185"/>
    </MenuItem>
</Menu>

大多数(如果不是全部)是自动生成的,因为我在Visual Studio中设置了菜单。

另外,如果我右键点击&#39;项目操作&#39;菜单项,弹出窗口显示一个&#39;查看代码&#39;选项。如果单击该选项,则相应的* .cs文件中将显示以下空函数:

private void MenuItem_Click(object sender, RoutedEventArgs e) { }

我意识到我可能需要为这个空方法添加代码来完成我需要做的事情,但到目前为止我还没有找到如何做到这一点。

还有一个&#39;命令&#39; MenuItem的属性列表中的属性。我也认为这可能在解决这个方面起作用,但在这个阶段我不知道如何。

请让我知道如何设置这一点,并提前感谢您提供任何帮助。

此外,在stackoverflow上搜索其他地方后,我找到了隐藏/显示不同窗口的基础知识。我的工作正常,但这还不足以解决我的问题。

基本上,在我的真实菜单中,我有多个menuItems,每个menuItems的点击需要以不同的方式处理。因此,在MenuItem_Click函数中,我需要一种识别实际点击了哪个MenuItem的方法,这样我就能以正确的方式响应每个MenuItem点击。

1 个答案:

答案 0 :(得分:0)

您可以为每个菜单项添加click事件并为每个方法添加代码。在此方法中您可以添加此代码

Window1.Visibility = Visibility.Hidden;
window2.Visibility = Visibility.Visible;

当您需要绑定MVVM模式

中的方法时,可以使用Command属性