【发布时间】:2010-05-24 18:31:44
【问题描述】:
不久前,我posted a question 讨论了在 Blend 创作的 GUI 和 Visual Studio 创作的 GUI 之间切换。通过将我的 Blend 项目添加到我的 VS2008 项目中,然后更改启动应用程序并重新编译,我让它正常工作。这将导致两个应用程序具有完全不同的 GUI,但使用完全相同的 ViewModel 和 Model 代码。我对此非常满意。
既然我已经了解了 Laurent Bugnion 的 MVVM Light Toolkit,我真的很想利用他的努力来使支持同一后端代码的多个 GUI 的过程成为可能。问题是,工具包是否促进了这一点,还是我坚持以前的方式?
我从 MIX10 观看了他的视频,并在网上阅读了一些关于它的文章。但是,我还没有看到表明有一种干净的方法可以让用户通过加载不同的 DLL 来动态切换 GUI。 VS2008 和 Blend 3 有 MVVM 模板,但我是否应该为我的应用程序创建这两种类型的项目,然后从我的 VS2008 解决方案中引用特定文件?
更新 我重新阅读了 Laurent 网站上的一些信息,似乎忘记了模板的全部意义在于允许在 VS2008 和 Blend 中打开 same 解决方案。所以无论如何,有了这个新的视角,模板看起来实际上是打算使用一个单一的 GUI,很可能完全在 Blend 中设计(通过 VS2008 方便调试),然后能够使用两个不同的 ViewModel——一个用于设计时,一个用于运行时。
所以在我看来,我的问题的答案是我想结合使用我之前的解决方案以及 MVVM Light Toolkit。前者将允许我围绕我的核心代码制作多个不同的 GUI,而后者将使用设计时 ViewModel 使在 Blend 中设计精美的 GUI 变得更容易。有人可以对此发表评论吗?
【问题讨论】:
标签: wpf mvvm expression-blend mvvm-light