4

Visual Studio 2010 のビジュアル デザイナでは、設計時に外部 XML ファイルを介してデータをロードできますか?

d:DataContext 経由で追加できるようですが、大量のデータがあり、XML 経由で読み込む方が簡単です。それで、これは可能ですか?

4

1 に答える 1

2

できることの 1 つは、実行時に使用するリポジトリ (またはその他のオブジェクト) の設計時バージョンを作成することです。私が定期的に使用している単純なアプローチは次のようになります。

App.xaml で:

<Application ...>
  <Application.Resources>
    <local:MyClass x:key="DesignData"/>
  </Application.Resources>
</Application>

クラスコンストラクターで、デザインモードであることを検出し、それに応じてデータを入力できます。

public class MyClass
{
  public MyClass()
  {
    bool isInDesign = DesignerProperties.GetIsInDesignMode(new DependencyObject());
    if (isInDesign)
    {
      // Load your XML + other setup routines.
    }

    // Normal ctor code.
  }
}

最後に、このアイテムとそのデータをコンテキストとして使用します。

<Window ...>
  <Grid d:DataContext="{StaticResource DesignData}">
    ...
  </Grid>
</Window>

これはおそらく、複雑な設計時のデータを取得するために使用できる最も簡単な方法です。もちろん、非常に複雑なシナリオでは「MyClass」のサブクラスまたは他のアプローチを使用する必要があるかもしれませんが、それを処理するのに十分な知識があるようです。個人的な経験から言えば、このアプローチを使用して、考えられるあらゆるプログラム状態の設計データを作成できます。必要に応じて、DB からライブ データをプルすることもできます。もちろん、アプリケーションの設計データについて考え始めるのが早ければ早いほど、実際に機能させるのは簡単になります。

于 2011-03-30T15:54:11.613 に答える