要使用委托来更新界面中的ListView
列表,您可以在ViewModel中使用Dispatcher
来调度UI线程上的更新操作。以下是一个示例:
using System.Collections.ObjectModel;
using System.Windows.Threading;
public class YourViewModel
{
public ObservableCollection<YourDataType> YourDataSource { get; } = new ObservableCollection<YourDataType>();
private readonly Dispatcher _dispatcher;
public YourViewModel()
{
_dispatcher = Dispatcher.CurrentDispatcher;
}
public void UpdateListView()
{
_dispatcher.Invoke(() =>
{
// 在UI线程上更新列表视图
YourDataSource.Add(new YourDataType());
});
}
}
在上面的示例中,我们在ViewModel中创建了一个YourDataSource
属性,用于存储ListView
的数据源。在UpdateListView
方法中,我们使用Dispatcher
的Invoke
方法将更新操作调度到UI线程上执行。在这个示例中,我们向YourDataSource
添加一个新的YourDataType
对象。
请确保在创建ViewModel实例时,获取UI线程的Dispatcher
并存储在_dispatcher
字段中。