我在XAML中有正常的菜单。我想彻底改变当你点击菜单项时显示的弹出窗口的外观。
我正在寻找类似的东西:
<Menu>
<MenuItem Header="MyCustomMenu">
<MenuItem.PopupTemplate>
<ControlTemplate>
<Image Source="SexyImage"/>
</ControlTemplate>
</MenuItem.PopupTemplate>
</MenuItem>
</Menu>
答案 0 :(得分:2)
您需要覆盖MenuItem
的模板,因为Popup是其中的一部分,请查看default templates以了解模板应该是什么样子。 MenuItem
有弹出窗口TemplatePartAttribute
。
答案 1 :(得分:1)
在应用程序的资源中定义以下样式:
MenuItem的样式覆盖示例:
<Style TargetType="MenuItem">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="MenuItem">
.... here is your custom template
ContextMenu样式覆盖:
<Style TargetType="ContextMenu">
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Grid.IsSharedSizeScope" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContextMenu">