0

DataTemplates / ControlTemplates (ItemControls ... ) を使用している多くの要素で構成される WPF Window があるとしますが、すべての DataTemplate が VS Designer でどのように見えるかを確認したいとします。さらに、別のファイルにあるテンプレートとして ControlTemplate を定義して、コンテンツとともに表示できるようにする場合はどうでしょう。

ASP.NET の MasterPage や ChildElements のようなもの 組み合わせた要素をいつでも確認できます。

これはWPFでも可能ですか?それ以外の場合.. DataTemplate に加えたすべての変更は、時間のかかるコンパイルと開始の後に確認できます。

君たちありがとう..

4

2 に答える 2

1

これを非常に簡単に行うには、コンストラクターでDataContextを設定するだけです。

public MyUserControl()
{
#if !RELEASE
    //DataContext = new CustomerList { Customers = new [] {
    //  new Customer { Name = "Contoso", ZipCode = 12345 },
    //  new Customer { Name = "NorthWind", ZipCode = 12345 },
    //}};
#endif
  InitializeComponent();
  ...
}

コードがコメント化されていることに注意してください。データを表示したい場合は、コードのコメントを外してください。は#if !RELEASE、リリースにサンプルデータを誤って含めることから(そしてそれをロードするためにCPUを費やすことから)あなたを保護します。

サンプルデータが大きい場合は、XMLまたはデータベースに入れてロードします。

public MyUserControl()
{
#if !RELEASE
    //DataContext = XmlSerializerManager.Deserialize<CustomerList>(
    //  File.ReadAllBytes("CustomerSampleData.xml"));
#endif
  InitializeComponent();
  ...
}

いずれの場合も、コードのコメントを解除するたびに、サンプルデータがデザイナに表示されます。アプリケーションを実行すると、実際のデータに置き換えられます。

于 2009-11-18T20:11:06.003 に答える
1

ステファン、

以下のリンクで説明されているように、Design Time クラスを作成することでこれを行うことができると思います。

http://karlshifflett.wordpress.com/2008/10/11/viewing-design-time-data-in-visual-studio-2008-cider-designer-in-wpf-and-silverlight-projects/

お役に立てれば。

于 2009-11-18T19:46:39.250 に答える