Visual Studio 2010 のビジュアル デザイナでは、設計時に外部 XML ファイルを介してデータをロードできますか?
d:DataContext 経由で追加できるようですが、大量のデータがあり、XML 経由で読み込む方が簡単です。それで、これは可能ですか?
Visual Studio 2010 のビジュアル デザイナでは、設計時に外部 XML ファイルを介してデータをロードできますか?
d:DataContext 経由で追加できるようですが、大量のデータがあり、XML 経由で読み込む方が簡単です。それで、これは可能ですか?
できることの 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 からライブ データをプルすることもできます。もちろん、アプリケーションの設計データについて考え始めるのが早ければ早いほど、実際に機能させるのは簡単になります。