Silverlight获取焦点

作为登陆页面,页面打开时焦点停在用户名的文本框,以及回车键可登陆是比较方便的,

但是silverlight默认却没有在页面打开时将焦点设在指定的文本框,也不支持默认按钮。

这需要我们作一点工作。

1.自动设置焦点尝试过将tabindex设为0,当前页设置焦点[this.Focus()],指定控件设置焦点[this.TextBox1.Focus()],都无法实现在页面打开时将焦点停在指定的控件上。 其实我是忘了一件事,silverlight程序是作为一个插件嵌入在aspx页面中,所谓的页面打开是aspx的页面打开,此时的焦点是停在aspx页面上,

而不是silverlight插件上,所以无论你在silverlight程序中怎么Focus都是取不到焦点的。

要实现这个前提条件是在aspx页面打开时【sl插件loaded时】将页面的焦点停在silverlight插件上,然后再在silverlight程序中设置控件的焦点,

具体代码如下: 1 void Login_Loaded(object sender, RoutedEventArgs e)2 {3 //用户名文本框自动聚焦4 HtmlPage.Plugin.Focus();//silverlight插件聚焦5 this.tbxUserName.Focus();//用户名文本聚焦6 } 2.回车登陆

这不是一个最好的办法,

但是也可以实现回车登陆,

大家可以参考一下 具体思路是捕捉页面的keydown事件,然后触发登陆按钮的点击事件,

具体代码如下: /// void Login_KeyDown(object sender, KeyEventArgs e)

{ //回车键登陆 if (e.Key == Key.Enter) { btnOK_Click(sender, new RoutedEventArgs());//登陆按钮的点击事件处理方法 } } ...

转载于:https://www.cnblogs.com/Utionsoft/archive/2012/12/15/2819727.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值