Wpf Dispatcher.Invoke不';t更改标签的值

Wpf Dispatcher.Invoke不';t更改标签的值,wpf,vb.net,dispatcher,Wpf,Vb.net,Dispatcher,在线程中,我想更改标签的值 我发现我必须使用Dispatcher.Invoke 已尝试此代码: Me.Dispatcher.Invoke(DispatcherPriority.Background, (Function() Me.Label2.Content = "Scanning done.")) 但它不会改变值 我做错了什么 @编辑:我的目标框架是4.0最突出的问题是您使用的是函数,您应该使用子函数,因为没有返回值。此外,您的参数是反向的 以下内容适用于您: Me.Dispatcher.I

在线程中,我想更改标签的值

我发现我必须使用Dispatcher.Invoke

已尝试此代码:

Me.Dispatcher.Invoke(DispatcherPriority.Background, (Function() Me.Label2.Content = "Scanning done."))
但它不会改变值

我做错了什么


@编辑:我的目标框架是4.0

最突出的问题是您使用的是
函数
,您应该使用
子函数
,因为没有返回值。此外,您的参数是反向的

以下内容适用于您:

Me.Dispatcher.Invoke(Sub() Me.Label2.Content = "Scanning done.", DispatcherPriority.Background)
试试这个(.net4.5,用c#表示):


但是这:
Label2.Dispatcher.Invoke(DispatcherPriority.Background,(Function()Label2.Content=“Scanning done”)
不起作用,因为参数顺序正确,但Sub()修复了我的问题。谢谢你的帮助!你要等多久。背景优先级不会立即改变…我等了大约10秒,但我试着将背景更改为其他优先级。仍然没有任何改变。他们正在询问VB.NET中的语法。我相应地更新了问题中的标签。
Application.Current.Dispatcher.InvokeAsync(() => Label2.Content = "Scanning done.");