Я пытаюсь разработать тему 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>