WPF TextBox Перехват RoutedUICommands
Я пытаюсь заставить горячие клавиши Undo / Redo работать в моем приложении WPF (у меня есть собственные пользовательские функции, реализованные с использованиемШаблон команды). Кажется, однако, чтоTextBox
контроль перехватывает мойОтменить» RoutedUICommand.
Какой самый простой способ отключить это, чтобы я мог поймать Ctrl + Z в корне дерева пользовательского интерфейса? Я хотел бы избежать добавления тонны кода / XAML в каждыйTextBox
в моем приложении, если это возможно.
Следующее вкратце демонстрирует проблему:
using System.Windows;
using System.Windows.Input;
namespace InputBindingSample
{
public partial class Window1
{
public static readonly RoutedUICommand MyUndo = new RoutedUICommand("MyUndo", "MyUndo", typeof(Window1),
new InputGestureCollection(new[] { new KeyGesture(Key.Z, ModifierKeys.Control) }));
public Window1() { InitializeComponent(); }
private void MyUndo_Executed(object sender, ExecutedRoutedEventArgs e) { MessageBox.Show("MyUndo!"); }
}
}