不久前,我发布了一个关于在 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中打开相同的解决方案。所以无论如何,从这个新视角来看,模板实际上是打算使用单个 GUI,很可能完全在 Blend 中设计(通过 VS2008 方便调试),然后能够使用两种不同的 ViewModel——一个用于设计时,一个用于运行时。
所以在我看来,我的问题的答案是我想结合使用我以前的解决方案以及 MVVM Light Toolkit。前者将允许我围绕我的核心代码制作多个不同的 GUI,而后者将通过使用设计时 ViewModel 使在 Blend 中设计精美的 GUI 变得更容易。任何人都可以对此发表评论吗?