EventTrigger keydown将按下的键作为命令参数

时间:2017-04-19 12:29:31

标签: wpf xaml

如何在交互中将按键作为命令参数传递?

<i:Interaction.Triggers>
    <i:EventTrigger EventName="PreviewKeyDown">
        <i:InvokeCommandAction Command="{Binding SomeCommand}" CommandParameter="???PressedKey???"/>
    </i:EventTrigger>
</i:Interaction.Triggers>

2 个答案:

答案 0 :(得分:0)

EventTrigger不公开有关该事件的详细信息,只是注册它。

https://msdn.microsoft.com/en-us/library/system.windows.eventtrigger(v=vs.100).aspx

您可以改为编写一个行为,在那里您将控制哪个键等:

https://wpftutorial.net/Behaviors.html

答案 1 :(得分:0)

此代码可以解决您的问题(通过Binding进行按键搜索):

  <TextBox Height="20" Margin="-30,2,0,0" Name="searchText"  Text="{Binding SearchText}"  Width="254" >
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="EditValueChanged">
                            <i:InvokeCommandAction Command="{Binding SearchFieldCommand}" CommandParameter="{Binding ElementName=searchText, Path=Text,UpdateSourceTrigger=PropertyChanged }" />
                        </i:EventTrigger>
                    </i:Interaction.Triggers>

                </TextBox>

为了更好地理解这段代码,应该熟悉PropertyChanged

相关问题