使用设计数据的最有效方法

时间:2013-02-05 12:08:08

标签: mvvm-light

我以前一直使用的第一种方法是在xaml中定义设计数据:

d:DataContext="{d:DesignDataSource=/DesignData/MainPivot/ProductCategoriesDesignData.xaml}"

然而,在开始使用mvvm灯后,我发现了自己的方式。通过ViewModelLocator:

if (ViewModelBase.IsInDesignModeStatic)
        {
            // Create design time view services and models
        }
        else
        {
            // Create run time view services and models
        }

那么哪一个更好? (不确定是否可以从Blend访问第二种方式)

1 个答案:

答案 0 :(得分:1)

MVVM Light最好的功能之一是它如何处理设计时数据。

这就是为什么我真的喜欢使用设计时服务而不是

d:DataContext="{d:DesignDataSource=/DesignData/MainPivot/ProductCategoriesDesignData.xaml}"
  1. 您可以减少设计时代码。你几乎总是拥有比服务更多的视图模型。
  2. 您的viewmodels在正确测试其逻辑时得到正确使用。他们调用模拟服务并按照正常情况处理数据。
  3. 模拟服务实际上可能会指出视图模型中的错误。
  4. 从Xaml中删除所有设计时代码。它更干净