我正在使用WPF RichTextBox在我们的应用程序中创建一个简单的编辑器。在它上面,我添加了像Bold,Italic等reguslar按钮。这些按钮使用RichTextBox的命令来设置这些属性,但在这些按钮旁边,这些命令也可以通过CTRL + B,CTRL + I等进行发送。希望这些按钮代表光标处RichTextBox的当前状态。我已经找到了如何获得这个状态,并且它在我更新SelectionChanged事件的状态时起作用。当Bold被切换时,这个事件并不会被触发,所以没有直接的反馈。如何注册/收听richtextbox命令?
我想知道是否有方法来聆听被调用的命令,而不会影响其原始行为或其他想法来解决我的问题。
我试着听命令的方式如下:
CommandBinding boldBinding = new CommandBinding(EditingCommands.ToggleBold, CommandExecuted);
_richTextBox.CommandBindings.Add(boldBinding);
和
private void CommandExecuted(object sender, ExecutedRoutedEventArgs e) {
UpdateProperties();
e.Handled = false;
}
这并更新属性,但RichTextBox中似乎没有再收到命令。
我也尝试在包含RichTextBox的控件上创建自己的命令,但是当RichTextBox具有焦点时按下CTRL + B时,将调用原始RichTextBox命令而不是新的命令。
非常感谢提前!
Liewe
该做的伎俩!非常感谢你! – Liewe 2010-03-08 13:33:16