【发布时间】:2010-09-01 14:19:40
【问题描述】:
我觉得我仍然看到很多指导和建议,指出视图优先方法是在您的应用程序中获得可混合性的最佳方式。但是,使用 d:DataContext、d:DesignData 和 d:DesignInstance,无论您的视图和视图模型如何连接在一起,Blendability 问题都不是很容易解决吗?
使用 DesignInstance,您只需选择要在设计器中使用的具体 ViewModel 类型,就好像您获得了视图优先组合。事实上,使用 DesignInstance 实际上允许更好 分离关注点,而不是使用 IsInDesignMode 后空翻或创建一个默认构造函数只是为了在您的真实视图模型中提供设计支持 - 您可以从您的视图模型类型或通用接口类型继承创建一个简单的“设计器”视图模型,它完全受限于设计器。使用 DesignData,您甚至不必这样做:您只需在 XAML 中以声明方式创建一个假视图模型。
的确,执行上述活动需要少量前期成本,但结果实际上是比将设计数据与真实视图模型混合获得的分离更清晰。有什么我想念的吗?为什么可混合性仍然是一个大问题?
【问题讨论】:
-
很好地回答了你的问题,我完全同意 :)
标签: wpf silverlight xaml expression-blend blendability