• 子要素としてコンテナコントロール(パネル等、複数の子要素を保持するコントロール)を持つ。
  • デザイナでコンテナコントロールの内部要素を操作できる。

ただ単にパネルを持つだけの場合、外部から操作する事が出来ない。
多分、デザイナとテンプレートを使う事により作成可能だと思う。
使用用途としては、ダイアログのようなコントロールの作成を考えている。
(タイトル、閉じるボタンを固定。子要素がパネル。ModalPopupExtenderを自動的に関連付け。)


3件のコメント

koreyasu · 2009-04-06 21:21

『チュートリアル : Web サーバー コントロール用の基本的なコントロール デザイナの作成』
http://msdn.microsoft.com/ja-jp/library/12yydcke(VS.80).aspx

『Web サーバー コントロールと、編集可能な領域を持つコンテナ デザイナを作成するには』

を参考に作成中。Containerのサンプルをそのままに派生元をCompositeの方に書き換える事により、それっぽいものは可能。
現状は
・デザイナ上でパネルとしてのみ表示さる(ContainerDesignerをそのまま使用しているため。)
・内部で自動生成しているコントロールは一切表示されない。
・CreateChildControlsで自動生成コントロールをコンテナの前に対して追加は可能。
・後ろに対しては追加が不可能。→ここを対処しないといけない。

koreyasu · 2009-04-06 21:33

デザイナの見た目を変えたい場合は、GetDesignTimeHtmlをOverrideすればよいぽい。

koreyasu · 2009-04-06 22:18

ちょっと時間が無いので、後ろに対して追加はRenderメソッドをOverrideして無理やり実装。

別の問題で、ModalPopupExtenderのプロパティ設定がコード上から上手く出来ない。
(TargetControlIDがnull or emptyと言われる。)
処理の順序等を正しく理解してないから起こっているものと思われる。コンストラクタで設定してるんだけど、意味なし。。

現在コメントは受け付けていません。