2015-07-27 5 views
0

В моем приложении WPF у меня есть TextBox, на котором есть KeyBinding и KeyTrigger, но кажется, что KeyTrigger не вызывается.WPF KeyTrigger не срабатывает, когда KeyBinding существует

MainWindow.xaml

<Window 
    x:Class="MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 
    xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" 
    Title="MainWindow" Height="350" Width="525"> 

    <TextBox> 
     <TextBox.InputBindings> 
      <KeyBinding Key="Return" Command="{Binding LogCommand}" CommandParameter="from KeyBinding"/> 
     </TextBox.InputBindings> 
     <i:Interaction.Triggers> 
      <ei:KeyTrigger Key="Return"> 
       ... 
      </ei:KeyTrigger> 
     </i:Interaction.Triggers> 
    </TextBox> 
</Window> 

Есть ли способ вызвать их обоих? Я хочу сделать это, потому что есть что-то, чего я не хочу делать в ViewModel.

+0

Я не очень понимаю, что пространство имен вы используете для 'Interaction.Triggers', но вы должны положить вниз здесь правильный код, связанный с этой сборкой. В противном случае я склонен полагать, что вы только что допустили ошибку, указав «неспециалист» способ конфигурации «Триггер» для вашего «TextBox». – SJD

ответ

0

Просто поместите как в interaction.Triggers части и удалить прямые привязки ввода:

<TextBox> 
     <i:Interaction.Triggers> 
      <ei:KeyTrigger Key="Return"> 
       <i:InvokeCommandAction Command="{Binding LogCommand}" CommandParameter="from KeyBinding"/> 
       ... 
      </ei:KeyTrigger> 
     </i:Interaction.Triggers> 
    </TextBox> 
Смежные вопросы