【问题标题】:WPF - Dialogs using MVVMWPF - 使用 MVVM 的对话框
【发布时间】:2010-07-20 14:31:05
【问题描述】:

在 MVVM 应用程序中使用自定义对话框窗口时,您认为使用后面的代码来处理属性、事件等是否可以?或者我是否应该始终将 ViewModel 绑定到每个对话框视图?你有什么想法?

【问题讨论】:

    标签: .net wpf xaml mvvm


    【解决方案1】:

    我们应该根据什么标准来决定代码隐藏是否可以?

    如果自定义对话框是一个复杂的向导怎么办?如果对话框本身就是一个完整的迷你应用程序怎么办?在这些情况下,我认为我们可以争辩说 MVVM 是值得的,而代码隐藏确实不是很有吸引力。

    如果我们接受这一点,那么我们在哪里划清界限?我认为我们不应该这样做,因为今天很简单的对话将来可能会变得复杂。最好保持一致。

    换句话说:MVVM 一路

    另请参阅此相关问题:MVVM and commands that show more GUI

    【讨论】:

    • 是的,这是真的。我们在哪里画线?谢谢!很好的答案!
    【解决方案2】:

    就我而言,在对话框中使用 ViewModel 的原因与在任何其他类型的窗口中使用 ViewModel 的原因几乎相同,所以我会做同样的事情(不管是什么!) .就我个人而言,我会拥有 ViewModel,并且在后面的代码中尽可能少。

    【讨论】:

    • 是的,这是我的想法。但在查看人们制作的一些应用程序时,我有点不确定,这些应用程序使用代码隐藏进行对话,而不是相应的 ViewModel。
    【解决方案3】:

    对话框只是另一个视图。 ViewModel 的主要目的是封装视图的行为。我认为,如果该视图具有行为,则需要使用 ViewModel。如果它是静态 UI,或者只是直接绑定到模型项而没有任何编码行为,则不是,不需要 ViewModel。

    【讨论】:

      【解决方案4】:

      为什么不将 ViewModel 用于对话框?

      WPF Application Framework (WAF)ViewModel 示例应用程序展示了如何将 WPF 对话框与 ViewModel 一起使用。

      【讨论】:

        猜你喜欢
        • 2020-07-27
        • 1970-01-01
        • 2010-12-12
        • 1970-01-01
        • 2021-05-31
        • 2010-12-20
        • 2015-03-21
        • 2011-09-09
        相关资源
        最近更新 更多