命令绑定不起作用?
我正在开发一个多选项卡应用程序(例如:多选项卡文本编辑器),其中每个选项卡项目都有自己的内容。在 tabitem 的 contextmenu 中,他们是带有命令的 menuitem,比如 SelectAll 命令。
运行应用程序后,菜单项始终处于禁用状态,没有执行任何命令。
那么,我怎样才能让我的命令绑定工作呢?
代码::
在文本编辑器的上下文菜单中>
<MenuItem Command="local:TextEditor.SelectAllCommand" Header="Select All" />
在 TextEditor 的 CommandBindings 中>
<UserControl.CommandBindings>
<CommandBinding Command="local:TextEditor.SelectAllCommand"
Executed="SelectAll_Executed" CanExecute="SelectAll_CanExecute" />
</UserControl.CommandBindings>
带有 TextEditor 的 TabItem 是在运行时创建的
I working on a multi-tab application (For Ex: Multi-Tab Text Editor), where each tabitem has its own content. And in contextmenu of tabitem, their is menuitem with a command, say SelectAll command.
After running app, the menu item is always disabled, no command execution is done.
So, how can i make my commandbindings work ?
CODE ::
In Context Menu At TextEditor>
<MenuItem Command="local:TextEditor.SelectAllCommand" Header="Select All" />
In CommandBindings At TextEditor>
<UserControl.CommandBindings>
<CommandBinding Command="local:TextEditor.SelectAllCommand"
Executed="SelectAll_Executed" CanExecute="SelectAll_CanExecute" />
</UserControl.CommandBindings>
The TabItems with TextEditor are created at run time
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
发生这种情况是因为 ContextMenus 是具有自己的 VisualTree 和 LogicalTree 的单独窗口。
像这样使用
有关更多信息,请检查下面的链接
http://www.wpftutorial.net/RoulatedCommandsInContextMenu.html
This happens since the ContextMenus are separate windows with their own VisualTree and LogicalTree.
Use like this
For more check the link below
http://www.wpftutorial.net/RoutedCommandsInContextMenu.html
请参阅 biju 答案,您的 ContextMenu 的 DataContext 不是您所期望的。
如果您将来遇到任何绑定问题,请查看 Snoop。它是一个易于使用的工具,可以在运行时检查绑定。
我总是检查两件事:
see biju answer, your DataContext for your ContextMenu is not the one you expect.
and if you have any binding problems in future, take a look at Snoop. its an easy to use tool to check your bindings at runtime.
i always check 2 things: