我有一个绑定到自定义集合的ListView。
在运行时,我在ViewModel中的自定义集合中更新了我的实体的某些属性。与此同时,我也在listview中进行自定义排序。
当我点击列表视图的任何列标题时,自定义排序适用。
例如,我每隔5秒更新一次实体的当前日期时间,同时,我正在应用基于DateTime的自定义排序。
(Listview是第三方控制)。
因此,我在同一时间对我的自定义集合执行两项操作。
我是否应该在视图模型中传递我的控件的调度程序并通过UI调度程序调用任何方法(更新我的自定义集合中的任何实体)?
答案 0 :(得分:0)
如果要更新UI,则必须使用调度程序,没有其他方法可以更新UI。
Dispatcher.BeginInvoke(DispatcherPriority.Background,
(Action) delegate
{
//You can update your UI here
});
答案 1 :(得分:0)
您是否仅使用线程更新实体属性?如果是这样,使用调度程序将导致删除使用线程的含义,因为所有操作最终都将由UI线程完成。您可以更好地将排序逻辑放在不同的线程中。不管怎样,有些代码会有所帮助。