如果您已经阅读了有关常规菜单的章节,您很快就会意识到 ContextMenu 的工作方式完全相同,这也不足为奇,因为它们都继承了 MenuBase 类。 就像我们在使用常规菜单的示例中看到的那样,您当然可以向这些项目添加 Click 事件以在用户单击它们时进行处理,但更适合 小皇府menu WPF 小皇府menu2025 的方法是使用命令。 ContextMenu,通常称为弹出菜单或弹出菜单,是在特定用户操作时显示的菜单,通常是在特定控件或窗口上用鼠标右键单击。 在这个例子中,我创建了一个二级顶级项目,我在其中添加了两个项目:一个定义了一个图标,使用Icon属性,里面有一个标准的 Image 控件,另一个我们使用IsCheckable属性来允许用户选中和取消选中该项目。
- 就像我们在使用常规菜单的示例中看到的那样,您当然可以向这些项目添加 Click 事件以在用户单击它们时进行处理,但更适合 WPF 的方法是使用命令。
- 相反,我已将其添加为 Window 的资源,以使其可从 Window 内的任何地方使用。
- Windows 应用程序最常见的部分之一是菜单,有时也称为主菜单,因为应用程序中通常只有一个。
- 还要注意在 ContextMenu 的菜单项上使用图标是多么简单。
- ContextMenu,通常称为弹出菜单或弹出菜单,是在特定用户操作时显示的菜单,通常是在特定控件或窗口上用鼠标右键单击。
- Button 现在有一个 Click 事件处理程序,我在代码隐藏中处理它。
Windows 应用程序最常见的部分之一是菜单,有时也称为主菜单,因为应用程序中通常只有一个。 小皇府menu 小皇府menu 小皇府menu 菜单很实用,因为它提供了很多选项,只占用很少的空间,即使微软正在推动 Ribbon 作为优秀的、旧的菜单和工具栏的替代品,它们仍然在每个优秀开发人员的工具箱中占有一席之地。 您应该注意到的第一件事是我已将 ContextMenu 从按钮上移开。
小皇府menu: 位置
Button 现在有一个 Click 事件处理程序,我在代码隐藏中处理它。 并且因为 WPF 知道如何结合某些控件来处理某些命令,在这种情况下,剪切/复制/粘贴命令结合文本输入控件,我们甚至不必处理它们的 Execute 小皇府menu 事件 – 它们可以直接工作盒子! 不过,我们必须为New命令处理它,因为 WPF 无法猜测当用户激活它时我们想要它做什么。 这是通过窗口的CommandBindings完成的 ,所有这些都在有关命令的章节中进行了详细说明。 您可以像我们上面所做的那样轻松处理菜单项的 Click 事件,但更常见的方法是使用 WPF 命令。
从代码隐藏中,您可以阅读该属性以了解是否选中了给定的菜单项。 尝试运行该示例,通过为项目分配命令,亲眼看看我们免费获得了多少功能。 还要注意在 小皇府menu2025 小皇府menu ContextMenu 小皇府menu 的菜单项上使用图标是多么简单。 小皇府menu2025 小皇府menu 首先,它们确保您可以在工具栏、菜单甚至上下文菜单上执行相同的操作,而无需在多个位置实现相同的代码。 它们还使键盘快捷键的处理变得更加容易,因为与 WinForms 不同,如果您将键盘快捷键分配给例如菜单项,WPF 不会自动侦听键盘快捷键 – 您必须手动执行此操作。
小皇府menu: 键盘快捷键和命令
相反,我已将其添加为 Window 的资源,以使其可从 小皇府menu Window 内的任何地方使用。
有很多关于使用和创建命令的理论,所以他们在网站上有自己的文章类别,但现在,我可以告诉你,在 小皇府menu2025 WPF 中使用它们时,它们有几个优点,尤其是与菜单结合使用时或工具栏。 与大多数 Windows 应用程序一样,我的菜单放置在窗口的顶部,但为了与 WPF 的巨大灵活性保持一致,您实际上可以将 小皇府menu 小皇府menu 小皇府menu Menu 控件放置在您喜欢的任何位置,以及您可能需要的任何宽度或高度。 我使用Header属性来定义项目的标签,您应该注意到每个标签的第一个字符之前的下划线。 它告诉 WPF 使用该字符作为加速键,这意味着用户可以按 Alt 键后跟给定的字符,以激活菜单项。 这从顶级项目一直到层次结构都有效,这意味着在这个例子中,我可以按Alt,然后F然后N,以激活 新项目。