wp 线程里修改UI

来源:互联网 发布:阿里云免费开通吗 编辑:程序博客网 时间:2024/05/18 03:46

 线程里修改UI要使用Dispatcher去实现功能,不然要线程不安全

1.修改一个小控件的内容
       //声明一个委托
delegate void SetTextBlockTextDelegate(TextBlock txtblk, string text);
   
//委托调用的实体方法
        void SetTextBlockText(TextBlock txtblk, string text)
        {
            txtblk.Text = text;
        }

//此方法线程里调用
private void doUpdate()
        {
                tB1.Dispatcher.BeginInvoke(new SetTextBlockTextDelegate(SetTextBlockText), tB1, "updated ui" );
        }

2.修改多条数据 delegate void MyDelegate();
        public void updateUI() {
            App.SongInfoViewModel.updateNewSongItemDownState("3131", SongInfo.DOWNLOAD_OVER);
        }

//此方法线程里调用
        public void updateUI2() {
            this.Dispatcher.BeginInvoke(new MyDelegate(updateUI));
        }

原创粉丝点击