将样式添加到HierarchicalDataTemplate生成的MenuItems
-
10-07-2019 - |
题
我正在使用HierarchicalDataTemplate将我的分层数据添加到Menu-Control。
<HierarchicalDataTemplate DataType="{x:Type local:MyType}" ItemsSource="{Binding Path=SubItems}">
<StackPanel>
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</HierarchicalDataTemplate>
我的菜单是这样创建的
<Menu>
<MenuItem ItemsSource="{Binding MyCollection}" Header="MainItem"></MenuItem>
</Menu>
如何为这些生成的MenuItem添加样式以设置IsCheckable
属性,例如。重要的是主MenuItem(标题为<!> quot; MainItem <!> quot; here)不应用此样式,因此无法检查。
我尝试了几种使用<Style>
和<DataTemplate
的方法但没有成功。
解决方案
像这样:
<Menu>
<Menu.ItemContainerStyle>
<Style TargetType="MenuItem">
....
</Style>
</Menu.ItemContainerStyle>
</Menu>
或者在你的情况下:
<Menu>
<MenuItem Header="Text" ItemsSource="{Binding Data}" ItemContainerStyle="{SomeStyle}"/>
</Menu>
不隶属于 StackOverflow