【问题标题】:Does Adorner break MVVM?Adorner 会破坏 MVVM 吗?
【发布时间】:2010-03-24 04:18:34
【问题描述】:

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

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

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

这样好吗?或者有没有更好的方法在我的视图模型中实现这一点?

【问题讨论】:

    标签: c# wpf xaml mvvm adorner


    【解决方案1】:

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

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

    【讨论】:

    • 和我想的完全一样,但是作为 MVVM 的新手,我首先想要一些意见。谢谢!
    • 同意,任何模式的任何“纯粹”方法实际上都会导致更复杂,更难理解和维护代码。
    • 这应该读作“应用程序逻辑”而不是“UI 逻辑”吗?这可能会让不立即熟悉该模式的读者感到困惑。
    猜你喜欢
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2016-08-12
    • 2010-11-04
    • 2013-12-02
    • 2015-03-03
    相关资源
    最近更新 更多