如何使用 VS2008 将事件与 WPF 中的菜单项相关联

本文关键字:菜单项 关联 WPF 何使用 VS2008 事件 | 更新日期: 2023-09-27 17:56:23

我正在学习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"菜单项与MouseEnter,MouseLeave和Click的相应事件处理程序相关联,而不是手动编辑xaml文本。 我试图通过使用"Items"集合编辑器来完成此操作,但是,它似乎只允许编辑子项的属性,而不允许编辑事件。 是否有其他编辑器/对话框/等允许编辑子项的事件?

谢谢你的帮助,

John。

PS:感谢H.B花时间正确格式化xaml。

如何使用 VS2008 将事件与 WPF 中的菜单项相关联

这似乎是不可能的。

我意识到这是一个古老的线程,但自从我遇到它以来,我认为其他人可能会从我发现的使用 Visual Studio 查看/编辑子菜单项的事件处理程序定义的方法中受益。

此方法仍要求您访问 XAML 文件,但您不必对其进行编辑。只需选择(单击)定义子菜单项的 XAML 文件中的记录,即可访问"属性"窗口 (F4) 中的"事件"页。

如果Microsoft在听,我会说这是集合编辑器中的一个设计缺陷(错误?

我不确定"使用视觉工作室编辑"是什么意思,所以我希望我在这里走在正确的轨道上......

可以在 xaml 中为项命名:

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

然后在 C# 代码隐藏中:

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

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

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