Меню документа AvalonDock DropDown Theming Colors

Я пытаюсь разработать тему AvalonDock, в которой используется Windows Accent Color: https://github.com/Dirkster99/AvalonDock

см. папку /source/Components/Xceed.Wpf.AvalonDock.Themes.VS2013 для темы

Проблема в том, что я не могу найти решение для определения цветов выделения в раскрывающемся меню документа, показанном на втором снимке экрана ниже. Каким-то образом тема работает для раскрывающегося окна инструментов, как вы можете видеть ниже, но я не могу заставить ту же тему работать для раскрывающегося меню документа.

До сих пор я установил, что раскрывающееся меню документа оформлено здесь:

/source/Components/Xceed.Wpf.AvalonDock.Themes.VS2013/Themes/Generic.xaml (ищите тег ContextMenuEx примерно в строке 132).

Я пробовал все виды вещей, но не могу заставить эту подсветку работать.

Нужно ли мне определять полную тему для 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>

Контекстное меню окна инструментов Раскрывающееся меню введите здесь описание изображения

введите здесь описание изображения


person user8276908    schedule 15.08.2018    source источник


Ответы (1)


Мне удалось решить эту проблему, повторно создав элемент ContextMenu, как предлагается здесь: Изменить фон цвет MenuItem при наведении мыши

person user8276908    schedule 04.11.2018