AvalonDock 文档菜单下拉主题颜色 [重复]

Posted

技术标签:

【中文标题】AvalonDock 文档菜单下拉主题颜色 [重复]【英文标题】:AvalonDock Document Menu DropDown Theming Colors [duplicate] 【发布时间】:2019-01-22 03:08:50 【问题描述】:

我正在尝试开发一个使用 Windows Accent Color 的 AvalonDock 主题: https://github.com/Dirkster99/AvalonDock

查看 /source/Components/Xceed.Wpf.AvalonDock.Themes.VS2013 主题文件夹

问题是我似乎找不到在下面第二个屏幕截图中显示的文档下拉菜单中定义突出显示颜色的解决方案。不知何故,工具窗口下拉菜单的主题工作如下所示,但我似乎无法让文档菜单下拉菜单使用相同的主题。

到目前为止,我已经确定文档下拉菜单是这里的主题:

/source/Components/Xceed.Wpf.AvalonDock.Themes.VS2013/Themes/Generic.xaml (在大约第 132 行查找 ContextMenuEx 标记)。

我一直在尝试各种事情,但无法让这个突出显示起作用。

我是否必须为MenuItemEx 和/或ContextMenuEx 定义一个完整的主题才能使其正常工作,还是有更简单的解决方案?

<avalonDockControls:DropDownButton x:Name="MenuDropDownButton"
                               Grid.Column="1"
                               VerticalAlignment="Center"
                               Focusable="False"
                               Style="StaticResource AvalonDockThemeVs2013ToolButtonStyle">
<avalonDockControls:DropDownButton.DropDownContextMenu>
    <avalonDockControls:ContextMenuEx ItemsSource="Binding Model.ChildrenSorted, RelativeSource=RelativeSource TemplatedParent">
        <avalonDockControls:ContextMenuEx.ItemContainerStyle>
            <Style TargetType="x:Type avalonDockControls:MenuItemEx" BasedOn="StaticResource x:Type MenuItem">
                <Setter Property="HeaderTemplate" Value="Binding Path=Root.Manager.DocumentPaneMenuItemHeaderTemplate" />
                <Setter Property="HeaderTemplateSelector" Value="Binding Path=Root.Manager.DocumentPaneMenuItemHeaderTemplateSelector" />
                <Setter Property="IconTemplate" Value="Binding Path=Root.Manager.IconContentTemplate" />
                <Setter Property="IconTemplateSelector" Value="Binding Path=Root.Manager.IconContentTemplateSelector" />
                <Setter Property="Command" Value="Binding Path=., Converter=StaticResource ActivateCommandLayoutItemFromLayoutModelConverter" />
            </Style>
        </avalonDockControls:ContextMenuEx.ItemContainerStyle>
    </avalonDockControls:ContextMenuEx>
</avalonDockControls:DropDownButton.DropDownContextMenu>
<Rectangle x:Name="MenuDropDownButtonImage"
           Fill="DynamicResource x:Static reskeys:ResourceKeys.DocumentWellOverflowButtonDefaultGlyph"
           Width="12" Height="12">
    <Rectangle.OpacityMask>
        <ImageBrush ImageSource="../Images/PinDocMenu.png" />
    </Rectangle.OpacityMask>
</Rectangle>
</avalonDockControls:DropDownButton>

工具窗口上下文菜单下拉

【问题讨论】:

【参考方案1】:

我可以通过按照此处的建议重新模板化 ContextMenu 项来解决此问题: Change Background color of MenuItem on MouseOver

【讨论】:

以上是关于AvalonDock 文档菜单下拉主题颜色 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Android微调器下拉菜单背景颜色更改

试图使主题下拉菜单 OnClick 而不是悬停

bootstrap 3 导航栏下拉框颜色

Pycharm怎样设置代码字体大小和颜色主题

Pycharm怎样设置代码字体大小和颜色主题

更改 actionBar 下拉背景颜色