一篇文章教你如何用Telerik组件为桌面应用添加上下文菜单

📅 2026/8/22 12:02:12
一篇文章教你如何用Telerik组件为桌面应用添加上下文菜单
Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库加快开发速度。Telerik DevCraft提供最完整的工具箱用于构建现代和面向未来的业务应用程序。上下文菜单允许在屏幕上的任何地方添加浮动菜单本文将为大家介绍使用这些工具的好处以及如何将它们添加到.NET MAUI应用程序中。目前 .NET 7已经发布了在本文中我们将讨论为了改进桌面应用程序的用户体验而实现的一个功能——上下文菜单我们将一起学习一种非常简单和直观的方式实现它什么是上下文菜单?上下文菜单是浮动菜单可以通过MenuFlyout附加到 .NET MAUI应用程序的任何视觉元素上当用户右击分配了ContextMenu的控件时就会显示此信息。注意只有当它是桌面应用程序时才会出现此菜单!上下文菜单的作用开发人员可以将这个ContextMenu添加到想要的所有视觉元素中。这是一个浮动菜单所以可以把它添加到屏幕上的任何地方只需要添加一个视觉元素即可。ContextMenu可视化结构在开始编写代码之前开发人员必须直观地了解组成菜单的每个元素的技术名称这样可以更容易地理解代码结构。在本文中桌面应用程序会有一个按钮用户右键单击它ContextMenu就会出现。理解代码结构首先不要忘记创建支持 .NET 7的项目。现在这就是ContextMenu的代码结构接下来让我们通过一些简单的步骤来学习如何将上述结构转换为代码Step 1选择附加ContextMenu的控件。在本例中我们有一个按钮当右键单击它时会打开菜单。Button TextRight click to here to see the options BackgroundColor#E1C9FF !-- Add here the code explained in the next step.-- /ButtonStep 2添加ContextFlyout和MenuFlyout。这些标记向控件指示它将包含一个ContextMenu。FlyoutBase.ContextFlyout MenuFlyout !-- Add here the code explained in the next step.-- /MenuFlyout /FlyoutBase.ContextFlyoutStep 3开始添加菜单项。开发人员可以在这里添加三个元素:MenuFlyoutItem它是菜单项其中包含将在项目中显示的描述开发人员添加所需的项目如下例所示MenuFlyoutItem TextPreferences / MenuFlyoutItem TextPrivacy Reporte / !-- Add all the Items that you need -- MenuFlyoutSeparator它是水平分隔线可以用于分类菜单的一组项目。(这并不是强制性的。)MenuFlyoutSeparator/ !-- Add all the separator that you need -- MenuFlyoutSubItem它允许开发人员为菜单添加更多层次结构项目添加的方式与MenuFlyoutItem相同得益于此开发人员可以添加一组派生自另一组的项目还可以在App中添加任意多的子菜单。MenuFlyoutSubItem TextExport from MenuFlyoutItem TextBookmarks / MenuFlyoutItem TextPassword / MenuFlyoutSubItem TextHistory MenuFlyoutItem TextLast Friday / MenuFlyoutItem TextToday / /MenuFlyoutSubItem /MenuFlyoutSubItem !-- Add all the SubMenus that you need -- 最后为了实现如图所示的示例并记住所学到的内容必须拥有如下代码Button TextRight click to here to see the options BackgroundColor#E1C9FF FlyoutBase.ContextFlyout MenuFlyout MenuFlyoutItem TextAbout this App / MenuFlyoutSeparator/ MenuFlyoutItem TextPreferences / MenuFlyoutItem TextPrivacy Reporte / MenuFlyoutSeparator/ MenuFlyoutSubItem TextExport from MenuFlyoutItem TextBookmarks / MenuFlyoutItem TextPassword / MenuFlyoutSubItem TextHistory MenuFlyoutItem TextLast Friday / MenuFlyoutItem TextToday / /MenuFlyoutSubItem /MenuFlyoutSubItem /MenuFlyout /FlyoutBase.ContextFlyout /Button除了对每个项目都必须使用的Text属性外还有IconImageSource属性选项该选项允许开发人员向从菜单中选择的项目添加图标。