在我的 silverlight 应用程序中,用户可以创建多个表单模板。根据选择的模板,表单将以特定顺序显示一组视图。此外,如果模板上存在某些视图,则它们是“必需的”。客户希望这些视图显示在弹出表单中,以便用户首先关注那些“必需的”视图,然后再转到表单上的其他视图。
现在,我看到自己为了这个要求打破了 MVVM 模式。这就是为什么... 1. ViewModel 可以从数据库中读取模板,获取视图(使用 MEF)但是要将它们添加到表单中,它需要知道布局网格的名称并将视图作为子视图添加到那个网格。这就像告诉 ViewModel 关于违反 MVVM 设计模式的 UI 元素一样。
- 对于必须在弹出窗口中显示的“必需”视图,viewModel 需要创建一个 ChildWindow 实例,将“必需”视图添加到其中,然后显示 ChildWindow。还处理关闭/关闭事件。
我确信我的方法有缺陷,但无法找到一种方法将 UI 逻辑与此处的业务逻辑完全分开。有人可以提供更好的方法。
谢谢。一种