我应该首先说我对MVVM模式比较新。话虽如此,我有两个标签,我正在尝试加载大型数据集。我想在页面加载时加载第一个选项卡,但是当你单击第一个要卸载的第一个选项卡而第二个要加载时(也就是Lazy Loaded)。有关如何做到这一点的任何想法?
答案 0 :(得分:2)
保持UI对用户的响应非常重要,并且加载大量数据会对该体验产生负面影响。这就是为什么在像你这样的情况下,我让视图模型调用一个使用BackgroundWorker加载数据的方法。您在应用程序生命周期中执行此操作的时间越早,您的用户体验就越好。
因此,就像mathieu建议的那样,将控件的属性绑定到视图模型,让视图模型以非阻塞的方式加载数据。
答案 1 :(得分:0)
您可以将TabControl的SelectedValue属性绑定到viewmodel的属性。
这样,您可以在属性值更改时卸载/加载正确的数据。