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から2番目の方法にアクセスできるかどうかはわかりません)

4

1 に答える 1

1

MVVM Lightの最も優れた機能の1つは、設計時のデータを処理する方法です。

これが、私がデザインタイムサービスを使用するのが本当に好きな理由です。

d:DataContext="{d:DesignDataSource=/DesignData/MainPivot/ProductCategoriesDesignData.xaml}"
  1. 設計時のコードを少なくすることができます。ほとんどの場合、サービスよりも多くのビューモデルがあります。
  2. ビューモデルは適切に使用され、ロジックは適切にテストされます。彼らは模擬サービスを呼び出し、通常どおりにデータを処理します。
  3. 模擬サービスは、実際にはビューモデルのバグを指摘する場合があります。
  4. すべてのデザイン時コードがXamlから削除されます。きれいです
于 2013-02-05T16:39:54.920 に答える