2012-01-31 8 views
1

いくつかの依存関係のプロパティを公開するUserControlを作成していますが、これはコントロールが動作するために実装する必要があります。デザイン/コンパイル時にUserControlの依存関係をどのようにする必要がありますか?

コントロールをXAMLで使用すると、依存プロパティの値を提供できます。しかし、すべての値を設定しなければ、実行時までは明らかになりません(例外がスローされます)。

UserControlが必要に応じて特定の依存関係をマークする方法はありますか?これが普通のC#クラスであれば、その依存関係をコンストラクタパラメータとして作成します。しかしWPF/XAMLの世界で何が似たようなものになるのかが分かりません。

我々は可能な解決策は、設計時にこれらのプロパティで開発者をヒントし、彼を促すこと、制御はその視覚野でのエラーメッセージをレンダリングできるようになり、.NET 3.5およびVisualStudioを2008年

+1

良い質問ですが、それは良いデザインですか?コントロールをツールボックスからウィンドウにドラッグすると、いくつかのプロパティを設定する必要なく、コントロールが動作することが期待されます。もちろん、すべての必要なプロパティが設定されるまで、そのビジュアルエリアにエラー/情報メッセージをレンダリングするコントロールをイメージできます。 CredentialsProviderプロパティを設定するまで、エラーを表示するBing Mapsコントロールを考えてみてください。 – Clemens

+0

依存関係プロパティのデフォルト値を提供することが常にベストです。 – Rachel

+0

@Rachel、Map.CredentialsProviderのデフォルト値の指定方法は?これには、アプリケーション作成者だけが提供できるアプリケーション固有のIDが含まれています。 – Clemens

答えて

0

を使用していますそれらに値を割り当てる。

このような動作の例は、アプリケーションプログラマがCredentialsProviderプロパティを設定する必要があるBing Mapsコントロールです。 CredentialsProviderが設定されていない限り、地図の中央には適切なメッセージが表示されます。

Bing Maps Controlとは対照的に、設計時にのみこのようなメッセージを表示し、実行時に例外をスローすることが考えられます。

関連する問題