我有一个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