silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了silverlight – 在XAML中按“ENTER”键时调用命令大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我想在TextBox中按ENTER键时调用命令。虑以下XAML: <UserControl ... xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" ...> ... <TextBox>
我想在TextBox中按ENTER键时调用命令。虑以下XAML:

<UserControl
     ...
     xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
     ...>    
     ...    
     <TextBox>
          <i:Interaction.triggers>
               <i:Eventtrigger EventName="KeyUp">
                    <i:InvokeCommandAction Command="{Binding MyCommanD}"
                                           CommandParameter="{Binding Text}" />
               </i:Eventtrigger>
          </i:Interaction.triggers>
     </TextBox>    
     ...    
</UserControl>
@H_354_19@myCommand如下:

public ICommand MyCommand {
     get { return new DelegateCommand<String>(MyCommandExecutE); }
}

private void MyCommandExecute(String s) { ... }

以上,我的命令是为每个按键调用的。当按下ENTER键时,如何限制该命令才能调用

我明白,使用Expression Blend,我可以使用条件,但是似乎只限于元素,不能虑事件参数。

我也碰到了SLEX,它提供了自己的InvokeCommandAction实现,它建立在Systems.Windows.Interactivity实现之上,可以做我所需要的。另一个虑是写我自己的触发器,但我希望有一种方法可以在不使用外部工具包的情况下执行。

解决方法

表达式共有 KeyTrigger

<UserControl
xmlns:i="clr-namespace:System.Windows.Interactivity;
         assembly=System.Windows.Interactivity"
xmlns:iex="clr-namespace:Microsoft.Expression.Interactivity.Input;
           assembly=Microsoft.Expression.Interactions" ...>    
     <TextBox>
         <i:Interaction.triggers>
            <iex:Keytrigger Key="Enter">
               <i:InvokeCommandAction Command="{Binding passwordLoginCommanD}" />
            </iex:Keytrigger>
         </i:Interaction.triggers>
     </TextBox>    
</UserControl>

大佬总结

以上是大佬教程为你收集整理的silverlight – 在XAML中按“ENTER”键时调用命令全部内容,希望文章能够帮你解决silverlight – 在XAML中按“ENTER”键时调用命令所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。