Использование клавиш Ctrl + Z для реализации нашего собственного метода / функции Undo в WPF и отключение команды отмены по умолчанию - PullRequest
0 голосов
/ 15 мая 2018

Как использовать клавишу ctrl + z (ApplicationCommand.Undo) для реализации нашего собственного метода отмены, вместо использования команды по умолчанию в WPF. В основном замена команды по умолчанию нашим собственным методом отмены.

например: я хочу связать команду ctrl + z с моим методом: private void OnMenuItemUndo (отправитель объекта, RoutedEventArgs e) in Файл xaml.cs.

1 Ответ

0 голосов
/ 15 мая 2018

Вот простой способ ниже. Предполагается, что объект источника данных, который предоставляет свойство типа ICommand с именем YourUndoCmd, уже привязан к одному из свойств TextBox DataContext ancester.

<TextBox IsUndoEnabled="false">
    <TextBox.InputBindings>
        <KeyBinding Modifiers="Ctrl" Key="Z" Command="{Binding YourUndoCmd}"/>
    </TextBox.InputBindings>  
</TextBox>

Обновление

Способ CommandBinding.

<Grid>
    <Grid.CommandBindings>
        <CommandBinding Executed="Undo_ExeCuted" Command="ApplicationCommands.Undo"/>
    </Grid.CommandBindings>

    <!--TextBox that will use your undo logic.-->
    <TextBox IsUndoEnabled="False"/>

    <!--TextBox that will use build-in undo logic.-->
    <TextBox />
</Grid>

В вашем коде позади должен быть метод, подобный приведенному ниже, для обработки команды отмены.

private void Undo_Executed(object sender, ExecutedRoutedEventArgs e)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...