0
public class MyViewModel : ViewModelBase
{
public MyViewModel()
{
if (!IsInDesignMode)
{
throw new InvalidOperationException();
}
}
public MyViewModel(IDataProvider dataProvider)
{
Data = new ObservableCollection<IData>(dataProvider.GetData());
}
public ObservableCollection<IData> Data { get; private set; }
}
のようなのViewModelクラスを持っている今、私はいくつかのデザイン時データを作成したいです。私の単体テストでは、これを行うためにモックフレームワーク(Moq)を使用しています。私は、AppプロジェクトでIDataのMock実装を作成するか、Mockingフレームワークを参照して使用する必要があるという事実は気に入らない。
このようなシナリオでデザインタイムデータを達成する最もエレガントな方法は何ですか?
編集:それが関連しているが、私は2012年
:
次に、このようにXAMLでそれを使うのか? – metacircle
'MyDesignViewModel'の' MyDesignViewModel'は、既存の実装を使用することができます(実装されたコードから見ることはできません)。すべての症例の98%にあるはずです)。他のすべては、懸念(ViewModelの実際のタスクに関係しない依存関係またはタイトな結合)またはシステムの過剰な緩和(ViewModelをパラメータのないコンストラクタでインスタンス化できるようにする)によって混ざり合います。あなたのDesignViewModelは、あなたのUIデザイナーだけのあなたのビューモデルとは別のアセンブリに存在することができます – Tseng