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

posted @ 2014-09-25 09:32  liuyunfeng  阅读(457)  评论(0编辑  收藏  举报