首页 新闻 会员 周边 捐助

wpf在窗口显示之后,给textblock.text赋值,但窗口不显示新的值

-1
悬赏园豆:30 [已解决问题] 解决于 2011-11-28 16:35

如题。

哪位知道解决办法?

问题补充:

窗口Msg里:

       public string Message
        {
            set
            {
                txtMsg.Text = value;
            }
        }

 

主窗口:

Msg win = new Msg();
            win.Message = "message 1";
            win.Show();
            Thread.Sleep(2000);

            callaction(this, new Action(() =>
            {
                win.Message = "message 2";
                Thread.Sleep(2000);

                this.Dispatcher.BeginInvoke(new Action(() =>
                {
                    win.Close();
                }), null);
            }));

但在Msg窗口关闭时,第二条消息还是没有显示出来。

*凉风习习*的主页 *凉风习习* | 初学一级 | 园豆:88
提问于:2011-11-23 10:35
< >
分享
最佳答案
-1

不会啊,你在什么时候给textblock.text赋值??

收获园豆:30
ChatinCode | 老鸟四级 |园豆:2272 | 2011-11-23 15:27

在另一线程里赋值的

*凉风习习* | 园豆:88 (初学一级) | 2011-11-23 15:44

@steven wang: 您自己给出了答案,win.Dispatcher.Invoke(...)就可以了,UIcontrol不能跨线程修改的。

ChatinCode | 园豆:2272 (老鸟四级) | 2011-11-24 09:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册