【发布时间】:2017-07-20 09:13:58
【问题描述】:
情况:
我在 WPF 窗口中有一些编辑命令,还有一个关闭命令 (Application.CloseCommand) 并有一些像这样的绑定
查看:
<Window.CommandBindings>
<CommandBinding Command="ApplicationCommands.Close"
Executed="CloseCommandBinding_Executed"/>
<CommandBinding Command="EditingCommands.ToggleBold"
Executed="EditingCommand_Executed"></CommandBinding>
</Window.CommandBindings>
<Window.InputBindings>
<KeyBinding Key="Esc" Command="ApplicationCommands.Close"></KeyBinding>
</Window.InputBindings>
.. *Some panel and grid stuff and more things* ..
<RichTextBox Name="RTBPopup">
<RichTextBox.InputBindings>
<KeyBinding Key="Esc" Command="ApplicationCommands.Close"></KeyBinding>
</RichTextBox.InputBindings>
</RichTextBox>
.. *Some panel and grid stuff and more things* ..
<ToggleButton x:Name="btnToggleBold" CommandManager.Executed="EditingCommand_Executed" Command="EditingCommands.ToggleBold" CommandTarget="{Binding ElementName=RTBPopup}">B</ToggleButton>
现在:
如果我在 RTBPopup (Richtextbox) 中按 Escape,命令将被执行,并且调试器会遇到在 CloseCommandBinding_Executed 方法上设置的断点
但是
当我点击粗体的切换按钮或按下 control + B 时,EditingCommand_Executed 没有被调试器击中(没有被执行)
我还尝试了什么:
<ToggleButton.CommandBindings>
<CommandBinding Command="EditingCommands.ToggleBold" Executed="EditingCommand_Executed"></CommandBinding>
</ToggleButton.CommandBindings>
【问题讨论】:
标签: c# wpf commandbinding