我在我的 app.xaml 文件中导入了控件样式,如
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
但是对于 ContextMenu 控件,我想使用 wpf buildin 样式,我该如何覆盖它?
我在我的 app.xaml 文件中导入了控件样式,如
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
但是对于 ContextMenu 控件,我想使用 wpf buildin 样式,我该如何覆盖它?
将Style
你的设置ContextMenu
为空:
<Window x:Class="WpfApplication11.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<Button Content="A metro style button" Height="42" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" Width="163">
<Button.ContextMenu>
<ContextMenu Style="{x:Null}">
<MenuItem Header="Item1"/>
<MenuItem Header="Item2"/>
</ContextMenu>
</Button.ContextMenu>
</Button>
</StackPanel>
</Window>
如果您想隐式(而不是显式)设置所有 ContextMenus 以使用默认的非 MahApps 样式,请使用:
<StackPanel.Resources>
<Style BasedOn="{x:Null}" TargetType="{x:Type ContextMenu}"/>
</StackPanel.Resources>
不将 Style 设置为 Null。
将样式设置为空。
如果您还需要将MenuItem
样式恢复为默认样式,请使用以下命令:
<StackPanel.Resources>
<Style BasedOn="{x:Null}" TargetType="{x:Type ContextMenu}"/>
<Style BasedOn="{x:Null}" TargetType="{x:Type MenuItem}"/>
</StackPanel.Resources>