WPF:如果单击其中一个子项,则在ContextMenu上设置触发器 - 或不?

时间:2017-03-13 16:08:31

标签: wpf xaml binding

我想向用户表明是否从MenuItemContextMenu的第一级检查了子菜单(或子子菜单)。

这可能吗?

我试过这个:

    /// <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。

0 个答案:

没有答案