2015-11-09 4 views
1

Я столкнулся с каким-то необычным поведением, я хотел бы использовать KeyBinding для привязки ключа Enter к команде в моей модели просмотра, но я также хочу подписаться к событию KeyUp на элементе управления в коде. Вот пример:Невозможно использовать KeyUp и KeyBinding на одном и том же элементе управления

<TextBox Name="txtCustomBarcode" 
     KeyUp="CustomBarcode_KeyUp"> 
     <TextBox.InputBindings> 
      <KeyBinding Command="{Binding ScanBarcodeCommand}" 
         CommandParameter="{Binding Text, ElementName=txtCustomBarcode}" 
         Key="Enter"/> 
     </TextBox.InputBindings> 
    </TextBox> 

Если я использую этот метод, то только команда будет выполнена, отделенный код события игнорируется. Если я удалю KeyBinding, то событие KeyUp вызывается как ожидалось.

Есть ли способ, которым я могу использовать KeyBindingи a KeyUp Событие на том же контроле?

+0

См: http://stackoverflow.com/a/11101557/563088 –

ответ

0

Я не считаю, что это возможно, потому что управление должно иметь два разных контекста данных, и насколько я знаю, это невозможно сделать.

EDIT: На самом деле при дальнейшем чтении, вы можете быть в состоянии сделать что-то вроде этого: Multiple dataContext for one control - MVVM

Смежные вопросы