繁体   English   中英

以编程方式添加MahApps.Metro上下文菜单

[英]Add MahApps.Metro Context Menu programmatically

由于我正在将动态内容加载到StackPanel我想在每个对象上添加一个ContextMenu

现在,我正在使用System.Windows.Controls.ContextMenu

不幸的是,菜单看起来像是旧的窗口形式,而不像MahApps的漂亮菜单。

在Internet页面上,我可以找到文档,了解如何在xaml中添加菜单,但是找不到如何通过代码创建菜单。

你有什么想法?

谢谢你的帮助 :)

MahApps.Metro查找时,我发现ContextMenu的Style具有Key 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 !)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM