Visual Studio 2010ビジュアルデザイナでは、デザイン時に外部XMLファイルを介してデータを読み込むことができますか?外部XMLファイルからのデザインタイムデータ
私はd:DataContext経由で追加できるようですが、データが大量にあり、XML経由でロードする方が簡単です。これは可能ですか?
Visual Studio 2010ビジュアルデザイナでは、デザイン時に外部XMLファイルを介してデータを読み込むことができますか?外部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から実データを引き出すことさえできます。もちろん、アプリケーションの設計データを早期に考えるようになればなるほど、実際に機能させるのは簡単になります。
それはまさに私がやったことです。私は最初に何の結果も見ていなかった。ありがとう。 – kevindaub
デザイン時にXMLファイルをどのように読み込みますか?あなたはファイルをどこに置いていますか、デザイナーにそのファイルを見つける方法を教えてください。 – SelAromDotNet
デザイナーは、クラスのインスタンスを構築するので、そこにロードします。上のコードブロックを参照してください。// XML +その他の設定ルーチンをロードしてください。 ?必要な古い場所からファイルを読み込むことができます。データベース、ファイルシステム、または埋め込みリソースに依存します。 –
「d:DataContext」と「XML経由で読み込む」の違いは何ですか? d:DataContextはXMLをロードするので、探している他の用途や機能がありますか? –
私のXMLは、私のリポジトリへの呼び出しによってロードされるので、私のdatacontextはそのリポジトリと同じです。このため、XMLに設定することはできません。 – kevindaub