如何通过XAML为Enum类型的子元素设置MenuItem的IsChecked属性?

我已使用此解决方案将MenuItem绑定到Enum。

枚举值显示正确,但我似乎无法为MenuItem的子项设置默认选中的值。

换句话说,我希望MenuItem默认选中其中一个子项(我正在使用的枚举值)。

我尝试了以下代码,使用了Style和触发的Setter:

              

枚举包含诸如ItemA之类的值,我还在Trigger Value属性中尝试了AnEnum.First0 (如此AnEnum.First 回答的 ),但无济于事。

DataTrigger是否可取? 如果是这样,我怎么能在XAML中写出来? 或者我应该在ItemTemplateMenuItem使用DataTemplate吗?

我也尝试使用SomeSetting.Items相关的方法摆弄代码隐藏,但大多数属性(如Current)都是只读的。

我知道你可以在代码隐藏中编写SomeSettingMenu.ItemsSource = Enum.GetValues(typeof(....)) ,但我又不知道如何以编程方式在MenuItem中选择一个Item。

我也试过这段代码,也不行:

      

enums是我正在使用的不同程序集的命名空间。

任何想法将不胜感激,谢谢你提前!

在您的解决方案中考虑改变

  

  

在你的例子中,你检查标题是否等于刺激“枚举:AnEnum.ItemA”而不是枚举AnEnum成员ItemA。

你可以这样做。 这将绑定到子MenuItem的DataContext,它是第一个项目的“ItemA”。