添加MahApps.Metro上下文菜单编程
本文关键字:菜单 编程 上下文 Metro MahApps 添加 | 更新日期: 2023-09-27 18:13:14
由于我正在将动态内容加载到StackPanel
中,因此我想在每个对象上添加ContextMenu
。
现在我正在用System.Windows.Controls.ContextMenu
做,它正在工作。
不幸的是,菜单看起来像一个旧的窗口形式,而不像MahApps的菜单。
在Internet页面上我可以找到如何在xaml中添加菜单的文档,但没有如何通过代码创建菜单。
你有什么想法吗?
谢谢你的帮助
在MahApps.Metro
中查找,我发现ContextMenu的Style
具有MetroContextMenu
键。
所以你可以在CodeBehind中创建普通的ContextMenu。您可以将以下Style
添加到App.xaml
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! -->
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.ContextMenu.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
<!-- Accent and AppTheme setting -->
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Green.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
<!-- Apply MetroStyle for ContextMenu to ContextMenus in Application scope -->
<Style TargetType="ContextMenu" BasedOn="{StaticResource MetroContextMenu}" />
</Application.Resources>
这只是你必须应用到你的ContextMenu
。MahApps没有提供特殊的ContextMenu
控件(只有Style
!)。