我面临“设计时支持”最佳实践的问题。我正在使用 PRISM,我的对象是由 DI 容器创建的。让我们假设以下简单场景:
我有一个对象工作流程。这个工作流有几个属性,并且有一个提供工作流列表的 WorkflowProvider。
如果我设计 ListView 我没有问题。我使用 MainApplication 对象作为设计时数据上下文,并且我的列表绑定到属性“WorkflowList”。在我的实时应用程序中,我可以将数据上下文设置为适当的实现。
但我不知道如何处理单个工作流视图!
通常我会创建一个工作流对象作为设计时数据上下文。但是我的工作流对象不能自己创建(使用空的构造函数),它必须是我的 WorkflowProvider 的属性。所以我过去使用的一种方法是:
- 为工作流编写一个虚拟子类
- 在dummy的空构造函数中,得到“真正的工作流”
- 将“真实工作流程”的所有属性分配给我的虚拟类的属性
- 在我的设计时视图中使用虚拟工作流的实例
唯一的原因是我不知道如何将设计时数据上下文设置为属性,而不是对象。这是可能的,还是有任何其他有意义的方式。澄清一下,我知道我可以将例如我的“工作流程详细信息视图”中的网格绑定到一个属性,但是我不能在没有更改的情况下使用详细信息视图作为我的列表视图中的 DataTemplate。我希望你有我的问题:-)
克里斯