我有一個MenuItem
,它從ItemsSource
屬性動態創建子菜單項。MVVM中的動態創建MenuItem分隔符的WPF光學樣式
對於分組,我在菜單中有分隔符。通過MenuItem.ItemContainerStyle
的ControlTemplate爲ItemsSource集合中的每個空條目創建分隔符。
這可以正常工作,但是分隔符與其他分隔符的光學風格不同,它們放置在菜單的Items-collection中。
有沒有辦法改變分隔符的外觀,使它看起來等於「正常」的菜單項分隔符?
這裏是我使用的代碼:
<MenuItem.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Header" Value="{Binding Title}"/>
<Setter Property="Command" Value="{Binding Command}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding }" Value="{x:Null}">
<Setter Property="Template" >
<Setter.Value>
<ControlTemplate>
<Separator /> <!-- THIS SEPARATOR IS NOT SHOWN AS COMMON MENUITEM-SEPARATORS ARE -->
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</MenuItem.ItemContainerStyle>
感謝您的回答。這是一個好主意,但遺憾的是,這並沒有幫助。分隔符看起來相同,但是另外還有一個可選擇的MenuItem(如果不禁用,最終可以選擇分隔符)。 – HCL 2010-09-09 09:58:17