<toolkit:AutoCompleteBox Text="{Binding Keyword, Mode=TwoWay}">
<i:Interaction.Triggers>
<ei:KeyTrigger FiredOn="KeyUp" Key="Enter">
<i:InvokeCommandAction Command="{Binding SearchCommand}"/>
</ei:KeyTrigger>
</i:Interaction.Triggers>
</toolkit:AutoCompleteBox>
这几行代码的逻辑是:当按下键盘的Enter键时会执行SearchCommand方法
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:ei="clr-namespace:Microsoft.Expression.Interactivity.Input;assembly=Microsoft.Expression.Interactions"
当点击Enter键时,软键盘没有消失,用户体验不是很好,
可以注册一下AutoCompleteBox的KeyUp事件
AutoCompleteBox_KeyUp(object sender, KeyEventArgs e)
{
if(e.Key==Key.Enter)
{
Focus();
}
}
如果改成MVVM模式的话,可以使用RelayCommand,把KeyEventArgs做为RelayCommand的参数传进去.
相关的MSDN文档点击打开链接