我正在使用 HierarchicalDataTemplate 将分层数据添加到菜单控件。
<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>
如何向这些生成的菜单项添加样式以设置 IsCheckable
例如属性(property)。重要的是,主 MenuItem(此处名为“MainItem”的 header )不应用此样式,因此它不可检查。
我使用 <Style>
尝试了多种方法和<DataTemplate
但没有成功。
最佳答案
像这样:
<Menu>
<Menu.ItemContainerStyle>
<Style TargetType="MenuItem">
....
</Style>
</Menu.ItemContainerStyle>
</Menu>
或者在你的情况下:
<Menu>
<MenuItem Header="Text" ItemsSource="{Binding Data}" ItemContainerStyle="{SomeStyle}"/>
</Menu>
关于wpf - 将样式添加到 HierarchicalDataTemplate 生成的 MenuItems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1439416/