2012-02-14 22 views
2

カスタムWPFコントロールを作成したいと思います。私は "ContentControl.Content"は必要ないので、Controlクラスは私のコントロールを派生させる最も適切なクラスのようですが、ControllessTemplateを使って "見苦しい"ものにしたいと思います。XAMLデザイナが「コントロール」から派生したコントロールを開くことができないのはなぜですか?

私はControlから私のコントロールを導出し、デザイナーでそれを開こうとすると、設計者がメッセージを示しています

は、「意図的に空白の文書のルート要素は、ビジュアルデザイナでサポートされていません。」

私は、次の見つけグーグル: 言うhttp://msdn.microsoft.com/en-us/library/bb907310(v=vs.100).aspx

:「WPFデザイナが唯一のパネル、ページ、ContentControlにルート要素としてその誘導体をサポートしています」

ContentControlsは、基本的に「コンテンツ」プロパティを持つコントロールのみを拡張することができます。 IMHOはデザイナーがコントロールを開くためにそれに依存するのには特別ではありません。

誰でもデザイナーがContentControlsを表示できるのに対し、コントロールから派生したコントロールを開くことができない技術的理由を説明できますか?

"Control"から派生したコントロールをデザイナーで開くことができるのは意味がありませんか?

+0

あなたは 'UserControl'クラスから派生してみましたか? – sll

+0

@sll私はUserControlの機能は必要ありません。継承チェーンはUserControl - > ContentControl - > Control - > FrameworkElementのようになります。コントロールは私が必要とするものに対して最も理にかなっています。私はちょうどContentControlまたはUserControlから "それを動作させる"(素早く汚れて)派生させることができることを知っています。しかし、私はそれがそのようにしなければならない理由を理解したいと思います。 – stmax

+0

私の理由は、MSたちが決定した、換言すれば社内の決定だからです。ブレンドはあなたが望むことをすることができます。 – NestorArturo

答えて

1

なぜなら私の理由は、MSたちが決定した、つまり内部的な決定だからです。ブレンドはあなたが望むことをすることができます。

関連する問題