Silverlight 预设焦点(Default Focus)

最近在开发Silverlight时,有个页面希望一进入就把焦点设定在一个TextBox上,让使用者可以直接就输入文字。

Silverlight中要设定焦点只需设置"控制项"的Focus()方法即可,不过如果是要设定页面一进入的焦点(预设焦点)的话,必须满足以下两个条件

  • 先设定Plugin焦点,再设定"控制项"控制项的焦点
  • 页面初始化时存在异步,将预设焦点的代码放在异步中

预设焦点的代码如下:

using?System.Windows.Controls;
using?System.Windows.Browser;???//
使用
HtmlPage要先引用這行

namespace?SilverlightApplication1
{
????public?partial?class?MainPage?:?UserControl
????{
????????public?MainPage()
????????{
????????????InitializeComponent();
????????????this.Loaded?+=?new?System.Windows.RoutedEventHandler(MainPage_Loaded);
????????}

????????void?MainPage_Loaded(object?sender,?System.Windows.RoutedEventArgs?e)
????????{
????????????HtmlPage.Plugin.Focus();?//
要有這行才能在一進入頁面就成功設定控制項焦

????????????textBox1.Focus();????????//
接著就呼叫要設定焦點的控制項
Focus()方法
????????}
????}
}

注意:使用HtmlPage前需要先引用System.Windows.Browser

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。