在单独的线程WPF上更新两个单独的UI
我有一个窗口(Windows窗体),其中除了其他控件外,还有两个WPF用户控件 一个用户控件旁边有一个带有可用复选框的项目(名称)列表。 另一个有项目的描述(一些图片和其他细节) 两个用户控件都有其视图模型 用户可以选择和取消选择第一个用户控件中的复选框。根据他的选择,项目详细信息将添加/删除到第二个用户控件 我们正在从数据库中获取所有数据。因此,我们首先从数据库中检索数据以进行填充。我们还将用户的选择/取消选择存储回数据库。第二个用户控件还需要刷新数据库中的数据。我们不在内存中存储任何东西 需要做的是,当用户在第一个用户控件中选择/取消选择时,它应该被添加到第二个用户控件中。 因此,操作是:将所选内容保存或删除到数据库-->向第二个用户控件发送请求,以刷新其从数据库读取数据的集合 我正在使用第一个usercontrol的Dispatcher对象(从第一个用户控件视图模型中的eventhandler调用),并在父窗体(Windows容器窗体)上调用一个方法。然后,此父窗体调用刷新第二个用户控件的第二个用户控件视图模型的刷新 问题是第一个用户控件的UI冻结,直到整个过程完成。我想要的是第一个用户控件的UI不要冻结。原因是第一个控件的UI不需要等待第二个用户控件中的操作更新。第二次视图刷新可以排队 所以基本上我想要的是,当用户选择/取消选择复选框时,只需发送通知(用于刷新第二个用户控件),并继续使用我的用户控件,而不是等待 我试过背景工作者,但似乎什么都不起作用 感谢您的帮助在单独的线程WPF上更新两个单独的UI,wpf,multithreading,mvvm,Wpf,Multithreading,Mvvm,我有一个窗口(Windows窗体),其中除了其他控件外,还有两个WPF用户控件 一个用户控件旁边有一个带有可用复选框的项目(名称)列表。 另一个有项目的描述(一些图片和其他细节) 两个用户控件都有其视图模型 用户可以选择和取消选择第一个用户控件中的复选框。根据他的选择,项目详细信息将添加/删除到第二个用户控件 我们正在从数据库中获取所有数据。因此,我们首先从数据库中检索数据以进行填充。我们还将用户的选择/取消选择存储回数据库。第二个用户控件还需要刷新数据库中的数据。我们不在内存中存储任何东西 需
- 吉里贾
using (Dispatcher.CurrentDispatcher.DisableProcessing())
{
//notification code here
}