当前位置:  开发笔记 > 编程语言 > 正文

在Silverlight中按Text键

如何解决《在Silverlight中按Text键》经验,为你挑选了3个好方法。

我正在开发一个silverlight应用程序,您需要将信息输入文本框,然后按Enter键.好吧,没有onclick事件,我可以找到,所以我做的是使用onkeypressup事件并检查是否是按下的回车键,如果这样做"blah".

感觉就像有更好的方法来做到这一点.所以问题是,有吗?



1> 小智..:

我认为这是捕获Key.Enter的方法.

此外,如果您使用KeyDown事件而不是KeyUp事件,您的代码将更具可读性.

如果您只关心捕获单个控件的Key.Enter,那么您的方法是正确的.

您还可以使用其容器的KeyDown事件("Event Bubbling")捕获一组相关控件的Key.Enter.



2> Shawn Wilder..:

你真的想在文本框中使用它吗?我会在容器上放一个onkeyup处理程序(例如Grid,Canvas)来按下窗体上任何地方的按钮.



3> 小智..:

如果您使用想要绑定Command属性而不是使用Click事件,这将起作用.首先为Click创建一个事件处理程序(见下文),然后在KeyUp中执行:

    private void MyTextBox_KeyUp(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter) SomeButton_Click(this, null);

    }

    private void SomeButton_Click(object sender, RoutedEventArgs e)
    {
        ICommand cmd = SomeButton.Command;
        if (cmd.CanExecute(null))
        {
            cmd.Execute(null);
        }
    }

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有