WPF异步更新UI的方法

一、常用的方法

private void timeChangeImage(/*自己决定形参类型*/)
        {
            this.Dispatcher.Invoke(new Action(delegate
            {
                /*代码写在这里*/
            }));
        }



//在线程函数中,直接调用上面这个函数即可做到在另外的线程中修改UI。本质上也是用的事件驱动这一套东西。

二、WPF中推荐使用

利用WPF中的Data Binding,具体实现可以找度娘,下面是Binding模型;

WPF异步更新UI的方法_第1张图片

补充:

1、winForm中可以使用以下语句,就可以直接在线程中调用控件了;

public Form1()
{
    InitializeComponent();
    CheckForIllegalCrossThreadCalls = false;//使线程可以调用窗体控件
}

如果不做如上的设置,会出现如下错误;

WPF异步更新UI的方法_第2张图片

你可能感兴趣的:(WPF)