0
我已經進口的控制風格在我的App.xaml文件,如強制文本菜單使用系統資源
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
但對於文本菜單控制,我想使用WPF的buildin的風格,我怎麼能覆蓋該?
我已經進口的控制風格在我的App.xaml文件,如強制文本菜單使用系統資源
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
但對於文本菜單控制,我想使用WPF的buildin的風格,我怎麼能覆蓋該?
設置Style
您ContextMenu
爲null:
<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。
隨着設置樣式爲NULL。
如果您還需要將MenuItem
樣式恢復爲默認風格,然後使用此:
<StackPanel.Resources>
<Style BasedOn="{x:Null}" TargetType="{x:Type ContextMenu}"/>
<Style BasedOn="{x:Null}" TargetType="{x:Type MenuItem}"/>
</StackPanel.Resources>
感謝,工作就像一個魅力 – tesla1060