2011-01-23 10 views
0

標準コントロールをいくつかの追加プロパティでラップしたいだけです(同じように見えますが、最初の段階ではテーマ付けしたくありません)。WPFで標準コントロールを継承する最も簡単な方法は?

UserControlまたはControlではなく、この標準コントロールから継承できますか。実際、私はUserControl ontrol Project TemplateではなくCustom Control Project Templateを使用することが義務付けられていることを読んでいます。どうして ?

更新:私はカスタムコントロールプロジェクトを試して、標準スライダから継承していますが、私は視覚的に何も表示していません!では、標準のビジュアルスライダーと同じビジュアルスライダーを使用するにはどうすればよいですか?

私はユーザーコントロールとカスタムコントロールの違いを知っていますが、実際には単一の標準コントロールを1つだけしたいときはどうしますか?カスタムコントロールの代わりにユーザーコントロールの中にカプセル化した場合、スライダーはどのように自動的にサイズ変更されますか?

答えて

1

カスタムコントロールは単一のコントロールであり、別のコントロールから派生することができます。これはスタイリングをサポートします。 UserControlは、多くの異なるコントロールのコンポジットコントロールであり、全体としてはスタイリングをサポートしていません(ただし、パーツはあります)。

既存のコントロールに任意の種類の機能を追加する場合は、そのコントロールから派生します。いくつかのコントロールを簡単に扱えるようにまとめる場合(DPを追加することもできます)、UserControlを使用します。

カスタムコントロールだけでは、コンテナで使用したときに外部から提供される設定(つまり、HorizontalAlignmentVerticalAlignmentなど)に依存するサイズ変更などに関連する操作は一切行われません。カスタムコントロールは、オーバーライドしない限り、基本クラスから既定のテンプレートを継承する必要があります。

+0

私は知っていますが、実際には、単一の標準コントロールを1つだけしたいときはどうしますか?カスタムコントロールの代わりにユーザーコントロールの中にカプセル化した場合、スライダーはどのように自動的にサイズ変更されますか? – user310291

+0

プロパティ( 'Horizo​​ntalAlignment'、' VerticalAlignment'、それを特定のRow/Columnプロパティを持つグリッドに入れた場合など)によってまったく異なります。ユーザーコントロールはウィンドウのように機能し、ヘッダーやその他のウィンドウ固有のものはありません。それは物事を配置するためのコンテナです。カストロムコントロールはそれを提供するものではありません。ただし、カスタムコントロールをコンテナに配置した場合は、そのカスタムコントロールを再度指定できます。 – Femaref

+0

OKありがとうございます:) – user310291

関連する問題