0

例如,假设我有一个组合框,其 itemsSource 绑定到依赖项属性。绑定列表值可以根据许多因素而改变。计算这些值需要大量时间,因此除非必要,否则我不希望应用程序更新集合。仅当视图中需要数据时(即当组合框下拉时),MVVM 中“懒惰”更新绑定属性的正确方法是什么?

4

2 回答 2

1

我会添加一个方法ViewModel

class ViewModel {
    public void Refresh() {
        // ...
    }

    // ...
}

...并在必要时在您的控制范围内调用它。

class Control : UserControl {
    private ViewModel ViewModel = new ViewModel();

    void OnDropDown() {
        ViewModel.Refresh();
    }

    // ...
}
于 2012-05-07T18:41:29.143 回答
1

您的 ViewModel 应该知道屏幕上的所有绑定数据,因此您的 ViewModel 会以某种方式获取下拉列表的数据。

触发获取的通常是 ViewModel 中的“命令”,通常来自按钮单击或任何其他视图事件。

于 2012-05-07T18:44:06.170 回答