如何通过XAML为Enum类型的子元素设置MenuItem的IsChecked属性?
我已使用此解决方案将MenuItem绑定到Enum。
枚举值显示正确,但我似乎无法为MenuItem的子项设置默认选中的值。
换句话说,我希望MenuItem默认选中其中一个子项(我正在使用的枚举值)。
我尝试了以下代码,使用了Style和触发的Setter:
枚举包含诸如ItemA之类的值,我还在Trigger Value属性中尝试了AnEnum.First
或0
(如此AnEnum.First
回答的 ),但无济于事。
DataTrigger
是否可取? 如果是这样,我怎么能在XAML中写出来? 或者我应该在ItemTemplate
为MenuItem
使用DataTemplate
吗?
我也尝试使用SomeSetting.Items
相关的方法摆弄代码隐藏,但大多数属性(如Current)都是只读的。
我知道你可以在代码隐藏中编写SomeSettingMenu.ItemsSource = Enum.GetValues(typeof(....))
,但我又不知道如何以编程方式在MenuItem中选择一个Item。
我也试过这段代码,也不行:
enums
是我正在使用的不同程序集的命名空间。
任何想法将不胜感激,谢谢你提前!
在您的解决方案中考虑改变
至
在你的例子中,你检查标题是否等于刺激“枚举:AnEnum.ItemA”而不是枚举AnEnum成员ItemA。
你可以这样做。 这将绑定到子MenuItem的DataContext,它是第一个项目的“ItemA”。