我刚开始使用WPF,并希望获得以下建议:
我有一个看起来像这样的菜单:
<Menu Name="MenuBar"
Grid.Row="0"
HorizontalAlignment="Right"
Style="{DynamicResource MenuBarStyle}">
<MenuItem Header="Settings" />
<MenuItem Header="Help" />
</Menu>
在我的Window.Resources中我定义了这种风格:
<Style x:Key="MenuBarStyle" TargetType="{x:Type Menu}">
<Setter Property="Background" Value="{x:Null}" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="10" />
</Style>
这符合我的预期和意图。但是,我还想在我的菜单中更改每个MenuItem的Padding属性。做这个的最好方式是什么?我最初的想法是创建一个单独的样式并将其应用于每个MenuItem,但是如果我的MenuItems是动态添加的话它会如何工作(它们不是,但只是出于好奇)?有没有办法可以从我的“MenuStyle”样式中定位一个子MenuItem?
谢谢,
史蒂夫
答案 0 :(得分:1)
您可以使用“隐式”样式(没有x:Key属性的样式)并将其定位到MenuItem类型。然后默认情况下为所有MenuItem选择此样式。如果您只希望此菜单使用此菜单,请将此样式放在Menu.Resources中,否则在Menu.Resources中使用您的菜单样式。