如何使用VS2008将事件与WPF中的menuitem相关联?

时间:2011-05-11 17:39:00

标签: c# wpf visual-studio events menuitem

我正在学习WPF(我还不太了解)。我知道如何通过直接编辑xaml将菜单子项与事件相关联,但是,我想知道如何使用Visual Studio执行相同的操作。

例如,请考虑以下XAML代码段:

    <Menu DockPanel.Dock ="Top"
          HorizontalAlignment="Left" Background="White" BorderBrush ="Black">
       <MenuItem Header="_File"/>
       <Separator/>
       <MenuItem Header ="_Exit"
                 MouseEnter ="MouseEnterExitArea"
                 MouseLeave ="MouseLeaveArea"
                 Click ="FileExit_Click"/>

我希望能够使用Visual Studio将“_Exit”menuitem与MouseEnter,MouseLeave和Click的相应事件处理程序相关联,而不是手动编辑xaml文本。我试图通过使用“Items”集合编辑器来实现这一点,但似乎只允许编辑子项的属性而不是事件。是否有其他编辑器/对话框/等允许编辑子项目的事件?

感谢您的帮助,

约翰。

P.S:感谢H.B花时间正确格式化xaml。 : - )

4 个答案:

答案 0 :(得分:1)

似乎无法做到这一点。

答案 1 :(得分:1)

我意识到这是一个旧线程但是因为我遇到它,我想其他人可能会从我发现使用Visual Studio查看/编辑子MenuItems的事件处理程序定义的方法中受益。

此方法仍然要求您访问XAML文件,但不必编辑它。只需选择(单击)XAML文件中定义子菜单项的记录,您就可以在属性窗口(F4)中访问“事件”页面。

如果微软正在倾听,我会说这是收藏编辑器中的设计漏洞(错误?)。

答案 2 :(得分:0)

我不确定你用“使用visual studio编辑”是什么意思,所以我希望我能在这里走上正轨......

您可以在xaml中提供项目名称:

<MenuItem Name="exitMenuItem" ....>

然后在c#codebehind:

exitMenuItem.Click += (s,e) =>
{
    DoIt(); // your event handling code
}

答案 3 :(得分:0)

在该项目的“属性”窗口中切换到“事件”选项卡,然后双击所需事件旁边的框。

在2008年我认为有一个看起来像闪电的按钮,你可以点击它来获取事件。它应该与按钮位于相同的区域,以按字母顺序排序或按类别或其他顺序排序。