Windows Phone開發之線程使用委託實現更新UI

參考文章:

http://www.cnblogs.com/xqiwei/archive/2012/02/16/2353870.html

實例說明:
在Windows Phone開發中,使用線程和其他有些不同,線程的使用是和委託結合在一起的。
在MainPage中,只有一個按鈕和TextBlock,通過線程實現每隔2秒鐘更新一次TextBlock的內容。
代碼如下:

public partial class MainPage : PhoneApplicationPage
    {

        delegate void MyDelegate();     //線程委託
        MyDelegate mydelegate = null;       //委託實例化
        static string temp = "";        //循環過程中更新的變量
        // 構造函數
        public MainPage()
        {
            InitializeComponent();
        }

        /// <summary>
        ///功能:更新UI 
        /// </summary>
        public void UpdateTextBlock() {

            this.textBlock1.Text = "循環次數爲===" + temp;
        }

        /// <summary>
        /// 功能:線程,實現每隔一段時間循環一次更新
        /// </summary>
        public void MyThread()
        {

            int i = 0;
            while (i < 5)
            {
                temp = i.ToString();
                this.Dispatcher.BeginInvoke(mydelegate);
                Thread.Sleep(1000 * 2);
                i++;
            }
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            //加載時發生線程
            mydelegate = UpdateTextBlock;
            Thread tt = new Thread(new ThreadStart(MyThread));
            tt.Start();

        }

    }

發佈了90 篇原創文章 · 獲贊 13 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章