2010-11-10 86 views
0

我剛開始用WPF,並希望一些建議有以下:在WPF中爲樣式化菜單設置MenuItem的最佳方式是什麼?

我有一個看起來像這樣的菜單:

<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」風格內定位子菜單項?

感謝,

史蒂夫

回答

1

你可以使用一個「隱式」風格(一個沒有X:主要屬性),並將其定位到菜單項類型。這個樣式默認選擇爲所有MenuItems。如果您只希望它被此菜單使用,請將此樣式放置在Menu.Resources中,否則放在您的菜單樣式所在的Window.Resources中。

相關問題