【问题标题】:Silverlight and MV(VM) Pattern - No Code-Behind - Is this possible?Silverlight 和 MV(VM) 模式 - 没有代码隐藏 - 这可能吗?
【发布时间】:2010-05-09 09:05:21
【问题描述】:

我正在开发 Silverlight 3.0,目前在我的视图中使用代码隐藏。随着项目的发展,我想在我的项目中实现 MV(VM) 模式。我见过一些 WPF 项目,其中代码隐藏除了 InitializeComponent 方法之外没有代码,我相信这是正确的方法,而且看起来很干净。这在 Silverlight 3.0 中是否可行,也就是说,没有代码隐藏?

谁能给我一些好的 Silverlight (3.0) MV(VM) 教程/文章?

【问题讨论】:

    标签: silverlight mvvm


    【解决方案1】:

    如果不使用一些额外的框架,Silverlight 3 不支持您在 WPF 中看到的内容。具体来说,全面的指挥支持。 Silverlight 4 包含了按钮命令,这是一个开始。

    您可以查看提供此功能集的其他框架,例如 Prism。这将使您走上正确的道路,但我相信还有其他选择。

    【讨论】:

    • 对反对者,请解释原因?有没有办法在没有任何事件代码隐藏的情况下直接使用 Silverlight 3?你如何进入虚拟机?谢谢! (这当然是假设您不编写自己的框架/重新发明轮子)
    • 我没有否决你,但我可以肯定地说,自从 Silverlight 2 开箱即用以来,我一直在做 MVVM,几乎没有代码隐藏。它确实需要您编写一些附加的行为,这很容易,用于绑定命令。但是,您不需要 3rd 方框架来执行此操作。
    【解决方案2】:

    您可以在不使用框架的情况下为 Silverlight 3 应用程序遵循 MVVM 模式。但是,使用现有的众多 MVVM 框架之一要容易得多。这里有一些不错的:

    我建议不要使用 Prism,因为它比它需要的更复杂。

    【讨论】:

      【解决方案3】:

      其他选项包括诸如 MVVM Light 之类的东西,它是 Prism 的更轻量级的替代品,用于处理事件和命令等事情,但是 Prism 确实有很多功能(当 Prism 4 演讲时,它听起来像是一个不错的选择发布)。

      Composite Development Patterns Community 是一个值得关注的好社区网站,它是新成立的,但其目标是收集文章和其他帮助,以使用 MVVM 等开发模式。

      最后,John Papa 对 MVVM 进行了很好的概述,仅限于链接,因此请前往 Google 并查找“John Papa MVVM”。 :)

      需要考虑的一点是,SL3 的资源不会像 SL4 那样有价值,这为基于框架的命令(greglev 提到的 ICommand)开辟了额外的选项,尽管它仍然不是完整的命令来自 WPF 的支持。

      【讨论】:

        【解决方案4】:

        Jesse Liberty 对 MVVM 有很好的入门知识,还使用行为来连接事件。

        Silverlight and MV(VM) Pattern - No Code-Behind - Is this possible?

        【讨论】:

          猜你喜欢
          • 2012-06-28
          • 1970-01-01
          • 1970-01-01
          • 2013-10-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多