我想知道有没有一种方法可以使用Dispatcher.BeginInvoke()
生成或启动一个线程
同时由于在Dispatcher中生成的线程而没有阻塞UI。基本上我正在使用MVVM处理WPF应用程序,在这个应用程序的开头我需要在主窗口上显示带有文本块(带有一些默认字符串)的空白视图。直到这里一切正常。现在,在显示视图后,我必须启动繁重的后台任务(这些任务基本上是我的ViewModel类中的函数),并且应该在视图的文本块上更新这些任务的状态。我已经使用ViewModel类中的公共属性StatusMessage绑定了textblock的text属性。所以我在这里对这些问题视而不见:
Dispatcher.BeginInvoke()
自行启动任务。通过使用此功能,我可以启动任务,但每次ViewModel中的属性更改时,UI状态都不会更新。我看到最近的更新状态也只有在任务完成时才会显示。应用程序的一些背景:它有一个Mainwindow,它只包含一个徽标,MainViewModel(有一个属性_viewModel)被设置为该窗口的datacontext。此主窗口根据_viewModel中包含的ViewModel显示不同的视图。 我对wpf和mvvm有些新意,但这是我必须完成的某种要求。请告知我这方面的任何链接都是受欢迎的。提前谢谢。