我想向用户表明是否从MenuItem
的ContextMenu
的第一级检查了子菜单(或子子菜单)。
这可能吗?
我试过这个:
/// <summary>Coloriser les éléments d'un ContextMenu qui ont des enfants coches</summary>
public bool FormatContextMenu(ItemCollection pIc) {
var ret = false;
foreach (var item in pIc.OfType<MenuItem>()) {
if (item.IsChecked) ret = true;
if (((MenuItem)item).Items?.Count>0) {
var b = FormatContextMenu(item.Items);
if (b) {
item.Background = new SolidColorBrush(Color.FromRgb(200, 200, 200));
ret = true;
}
}
}
return ret;
}
它正在运行,但它不是动态的而不是MVVM。 我必须在每个显示器上调用它:
FormatContextMenu(cmuFiltresAll.Items);
如果可能的话,我喜欢在没有代码的情况下制作它......只有Xaml。