我有一个TextBox
的弹出窗口,用户应该输入一个票号,然后当用户按下回车键时,我希望将票号传递给将检索票证的ViewModel。
以下是TextBox
:
<TextBox x:Name="TicketNumber">
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyDown">
<i:InvokeCommandAction Command="{Binding OpenTicketCommand}"
CommandParameter="{Binding ElementName=TicketNumber,
Path=Text}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
以上适用于任何按键,但我真的只希望在按下回车键时发生。我该怎么做呢?
编辑:我假设它必须以编程方式完成(因此标题),但如果没有,那也没关系。
答案 0 :(得分:20)
您可以使用InputBindings - KeyBinding
作为替代方法。
这样的事情:
<TextBox x:Name="TicketNumber">
<TextBox.InputBindings>
<KeyBinding Key="Enter"
Command="{Binding OpenTicketCommand}"
CommandParameter="{Binding ElementName=TicketNumber,
Path=Text}"/>
</TextBox.InputBindings>
</TextBox>