【发布时间】:2017-07-10 15:22:14
【问题描述】:
我目前正在尝试以与顶级 MenuItem 类似的方式设置 Submenu/SubmenuHeader 的样式,但是我想将背景和边框更改为不同的颜色(不是默认颜色)
我可以在模板的哪个位置进行设置?还是有更好的方法来设置子菜单的样式?
这是我的 MenuItem 模板代码:
<!-- MenuItem Template -->
<ControlTemplate
x:Key="MenuItem"
TargetType="MenuItem">
<Border
Name="border"
BorderThickness="1"
BorderBrush="Transparent"
Background="{TemplateBinding Background}">
<Grid>
<ContentPresenter
HorizontalAlignment="Center"
VerticalAlignment="Center"
ContentSource="Header" />
<Popup
Name="Popup"
Placement="Bottom"
IsOpen="{TemplateBinding IsSubmenuOpen}"
AllowsTransparency="True"
Focusable="False"
PopupAnimation="Fade">
<Border
Name="SubmenuBorder"
SnapsToDevicePixels="True"
Background="{StaticResource ResourceKey=DarkGrayBrush}"
BorderBrush="Transparent"
BorderThickness="1">
<StackPanel
Name="SubMenu"
IsItemsHost="True"
KeyboardNavigation.DirectionalNavigation="Cycle" />
</Border>
</Popup>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger
Property="IsMouseOver"
Value="True">
<Setter
TargetName="border"
Property="BorderBrush"
Value="Transparent" />
<Setter
Property="Background"
Value="#00948d" />
</Trigger>
<Trigger
Property="IsSuspendingPopupAnimation"
Value="true">
<Setter
TargetName="Popup"
Property="PopupAnimation"
Value="None" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
【问题讨论】: