5

我正在使用 MVVM 开发 WPF 应用程序。我的大多数观点只有 xaml 标记,后面的代码没有任何内容(默认样板除外)。

当我想禁用整个屏幕时,除了我使用装饰器将屏幕“变黑”的一种视图之外的所有视图。

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        //todo: transfer to modelview
        contentAreaAdorner = AdornerLayer.GetAdornerLayer(contentArea);
        waitingAdorner = new WaitingAdorner(contentArea);
    }

那样可以么?或者有没有更好的方法在我的视图模型中实现这个?

4

1 回答 1

18

减少代码隐藏是 MVVM 的好处,而不是目标

MVVM 的目的是让 UI 逻辑更简单、更可测试。如果您将此方法移至视图模型,您的代码会更简单、更可测试吗?很可能不是;事实上,情况可能不那么好。所以不用担心。

于 2010-03-24T07:40:32.587 回答