当前位置:   article > 正文

WPF中窗口初始化部分控件ContextMenu使用Command默认不能执行_把commandbinding放在contextmenu里面

把commandbinding放在contextmenu里面

前几天写遇到一个在ListBox加ContextMenu,给MenuItem设置Command,但是当程序在CanExecute为true的情况下,MenuItem任然为灰色不能执行,有操作之后能执行

把执行的地方换成Click事件是没有问题的,困扰了我一段时间,再加上网上查阅的资料,大致知道了情况:

     在不能获得焦点的控件上面使用ContextMenu,CanExecute的事件路由就会停止在ContextMenu,就没有办法到底窗体上

解决办法:

1.在MenuItem上设置CommandTarget

     CommandTarget="{Binding Path=PlacementTarget,RelativeSource={RelativeSource AncestorType=CotextMenu}}"

2.把CommandBinding放在ContextMenu里面

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/493462
推荐阅读
相关标签
  

闽ICP备14008679号