【发布时间】:2019-09-03 06:49:46
【问题描述】:
我有一个 WPF 应用程序。窗口包括用于显示数据的数据网格和用于搜索数据的按钮。在 viewmodel 中有一种将数据加载到数据网格的方法。
public List<MyObject> DataGridData { get; set; }
public void LoadDataToDatagrid(object obj)
{
Task.Run(() =>
{
DataGridData = new List<MyObject>(repository.GetData());
});
}
每次单击按钮加载数据时,数据都会加载到数据网格中,但需要很长时间。因此,当我多次单击该按钮时,将加载第一个数据。我将开始使用它们,然后再次加载新数据。
如何停止以前的任务并仅为最后一次点击按钮加载数据?
感谢您的回答
【问题讨论】:
-
我认为你需要换个角度看。在任务完成之前,不要通过禁用按钮来允许随后的按钮点击。
标签: c# asynchronous