我觉得我仍然看到很多指导和建议,说明视图优先方法是在应用程序中获得Blendability的最佳方法.但是,使用d:DataContext,d:DesignData和d:DesignInstance,无论您的视图和视图模型如何连接在一起,Blendability的问题都不容易解决?
使用DesignInstance,您只需选择要在设计器中使用的具体ViewModel类型,就好像您已经拥有了视图优先组合.实际上,使用DesignInstance实际上可以比执行IsInDesignMode后空翻更好地分离关注点,或者只为真实视图模型中的设计支持创建默认构造函数 - 您可以从viewmodel类型继承或从公共接口类型继承以创建简单的"设计器" viewmodel,它完全受限于设计师.使用DesignData,您甚至不必这样做:您可以在XAML中以声明方式创建伪视图模型.
确实,在进行上述活动时需要很小的前期成本,但结果实际上比通过将设计数据与真实视图模型混合得到的结果更清晰.有什么我想念的吗?为什么Blendability仍然是一个如此大的问题?