Wpf 命令绑定不起作用?
我正在处理一个多选项卡应用程序(例如:多选项卡文本编辑器),其中每个选项卡项都有自己的内容。在tabitem的contextmenu中,他们的菜单项带有一个命令,比如SelectAll命令 运行应用程序后,菜单项始终处于禁用状态,不会执行任何命令 那么,我如何使我的命令绑定工作 代码:: 在TextEditor>Wpf 命令绑定不起作用?,wpf,command,Wpf,Command,我正在处理一个多选项卡应用程序(例如:多选项卡文本编辑器),其中每个选项卡项都有自己的内容。在tabitem的contextmenu中,他们的菜单项带有一个命令,比如SelectAll命令 运行应用程序后,菜单项始终处于禁用状态,不会执行任何命令 那么,我如何使我的命令绑定工作 代码:: 在TextEditor> <MenuItem Command="local:TextEditor.SelectAllCommand" Header="Select All" /> <User
<MenuItem Command="local:TextEditor.SelectAllCommand" Header="Select All" />
<UserControl.CommandBindings>
<CommandBinding Command="local:TextEditor.SelectAllCommand"
Executed="SelectAll_Executed" CanExecute="SelectAll_CanExecute" />
</UserControl.CommandBindings>
在TextEditor的CommandBindings中>
<MenuItem Command="local:TextEditor.SelectAllCommand" Header="Select All" />
<UserControl.CommandBindings>
<CommandBinding Command="local:TextEditor.SelectAllCommand"
Executed="SelectAll_Executed" CanExecute="SelectAll_CanExecute" />
</UserControl.CommandBindings>
带有TextEditor的TabItems是在运行时创建的这是因为ContextMenus是单独的窗口,具有自己的VisualTree和LogicalTree 像这样使用
<MenuItem Header="Cut" Command="Cut" CommandTarget="
{Binding Path=PlacementTarget,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ContextMenu}}}"/>
有关更多信息,请查看下面的链接
参见biju答案,您的ContextMenu的DataContext不是您所期望的 如果您将来有任何绑定问题,请查看。它是一个易于使用的工具,可以在运行时检查绑定 我总是检查两件事:
- 我的数据上下文就是我期望的吗李>
- 我的绑定路径就是我想要的吗李>