SL 4: TextBox не получает Ctrl-V? - PullRequest
       19

SL 4: TextBox не получает Ctrl-V?

1 голос
/ 12 января 2012

У нас есть элемент управления TextBox как часть большего UserControl.
UserControl имеет MVVMLight RelayCommand, связанный с событием KeyDown:

<i:Interaction.Triggers>
    <i:EventTrigger EventName="KeyDown">
        <GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding KeyDownCommand}"  PassEventArgsToCommand="True"/>
    </i:EventTrigger> </i:Interaction.Trigger>

Когда TextBox имеет фокус, отображаются события KeyDown для клавиши Ctrl , но не Ctrl + V .
Я добавил обработчик для KeyDown для TextBox в code-behind:

                     KeyDown="textBox_KeyDown"

        private void textBox_KeyDown(object sender, KeyEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine(string.Format("textBox_KeyDown Key: {0}  Modifier: {1}", e.Key, Keyboard.Modifiers));
        e.Handled = false;
    }

Аналогичный результат - событие KeyDown для клавиши Ctrl обрабатывается, но Ctrl + V не отображается.
Сообщение всплывает через другие обработчики, но никогда не помечается как обработанное.
Любые идеи о том, почему TextBox не получает Ctrl + V ?
Спасибо за любые идеи.

Обновление: О, ради Пита ... Я добавил обработчик KeyUp в коде позади, и там появляется Ctrl + V . Однако Ctrl + V появляется в обработчике KeyDown, если источником KeyDown является другой элемент управления (например, содержащий ScrollViewer).
Обновление второго: В новом разреженном проекте я убедился, что обработчик TextBox.KeyDown НЕ вызывается для Ctrl + V , пока TextBox.KeyUp вызывается для Ctrl + V . Можно ли «передать» событие Ctrl + V другому TextBox?

...