【发布时间】:2020-11-22 15:58:24
【问题描述】:
您好,我希望一个任务在视图打开后立即运行,而不需要 ViewModel 类
我现在就是这样做的
public class ContributorsViewModel : DemoViewModelBase<Model>
{
public ContributorsViewModel()
{
Task.Run(() => DataList = new DataService().GetDataList());
}
}
DemoViewModelBase:
public class DemoViewModelBase<T> : BindableBase
{
private IList<T> _dataList;
public IList<T> DataList
{
get => _dataList;
set => SetProperty(ref _dataList, value);
}
}
引导程序:
containerRegistry.RegisterForNavigation<ContributorsView>();
没有视图模型我不知道怎么做
【问题讨论】:
-
请注意,应等待任何可等待的方法调用(如 Task.Run)。但是,您不能等待构造函数中的任何内容。应该有某种等待的异步初始化方法。
-
@Clemens 我的问题不是关于任务,而是关于如何在不需要视图模型的情况下调用 MVVM。
-
这就是我写“作为笔记”的原因。除此之外,“在视图加载后”运行任务的明显方式是异步加载事件处理程序。