RichEditBox - KeyDown не захватывает ключ удаления, но keyup делает - PullRequest
1 голос
/ 19 июня 2020

Я использую RichEditBox для UWP, и у меня есть сценарий, в котором я пытаюсь зафиксировать события нажатия клавиши «удалить». Backspace и другие клавиши работают нормально, это c для удаления. По какой-то причине я не могу зафиксировать события нажатия клавиши «удалить», но прослушивание нажатия клавиши работает нормально.

Есть ли у RichEditBox какое-то поведение при «удалении», которое заслуживает того, чтобы он проглатывал событие? Есть идеи?

<RichEditBox x:Name="Content"
             AcceptsReturn="False"
             KeyDown="Content_KeyDown"
             KeyUp="Content_KeyUp"
             SelectionChanged="Content_SelectionChanged"
             FontSize="18"
             Style="{StaticResource TitleEditBoxStyle}"/>
private void Content_KeyDown(object sender, KeyRoutedEventArgs e)
{
    // no breakpoint hit, cannot capture delete
    switch (e.Key)
    {
        case Windows.System.VirtualKey.Delete:
        {
            ...
            break;
        }
}
...
private void Content_KeyUp(object sender, KeyRoutedEventArgs e)
{
    // breakpoint hit, key is correct
}

1 Ответ

1 голос
/ 19 июня 2020

Используйте вместо PreviewKeyDown и PreviewKeyUp.

...