1

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

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

然而,在开始使用 mvvm light 之后,我找到了自己的方式。通过 ViewModelLocator:

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

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

4

1 回答 1

1

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

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

d:DataContext="{d:DesignDataSource=/DesignData/MainPivot/ProductCategoriesDesignData.xaml}"
  1. 您将编写更少的设计时代码。您几乎总是拥有比服务更多的视图模型。
  2. 您的视图模型可以正确使用,并正确测试其逻辑。他们调用模拟服务并像往常一样处理数据。
  3. 模拟服务实际上可能会指出您的视图模型中的错误。
  4. 所有设计时代码都从 Xaml 中删除。它更干净
于 2013-02-05T16:39:54.920 回答