【发布时间】:2015-09-10 20:49:02
【问题描述】:
我有一个在 XAML 中绑定到 ViewModel 中定义的 AsyncCommand 的 ListView。为简洁起见,所有示例都被删减了。
XAML
<listView ItemSource="{Binding Path=ReportCommand.Execute.Result}" />
<Button Command="{Binding ReportCommand}">Click</Button>
MVVM 在构造函数中:
ReportCommand = new AsyncCommand<List<MyPoco>>(() => LoadReport());
在课堂上:
public IAsyncCommand ReportCommand { get; private set; }
private async Task<List<MyPoco>> LoadReport()
{
return await _service.GetListOfPocos();
}
(仅供参考 - 这是基于 Stephen Cleary 的 MSDN 文章)
好的,到目前为止,一切都很好。
但是,在 Window 上的另一个控件上,用户执行了一些需要清除此 ListView 的操作(例如,他们注销)。我知道如何让我的各种 ViewModel 在幕后相互交谈,但是如何清除这个“命令”,使 ListView 绑定的 List 为空?
谢谢
格里夫
【问题讨论】:
标签: wpf mvvm data-binding async-await task-parallel-library