2011-08-04 18 views
2

WPFコントロールの継承図を見ると、TreeViewコントロールの予期しないことに気付きます。ユーザーの選択を可能にするその他のコントロールは、SelectorまたはMultiSelector基本クラスのいずれかから継承します。これはSelectorクラスが基本ItemsControlクラスに選択機能を追加するので意味があります。だから私はTreeView同様に同じクラスから継承することが期待されたが、そうではありません。 ItemsControlから直接継承します。なぜどんなアイデア?WPF TreeViewコントロールがSelectorではなくItemsControlから継承するのはなぜですか?

答えて

4

ツリーアイテムの選択は、ルートレベルのアイテムだけでなく、階層全体に沿って管理する必要があるからです。 Selectorクラスはフラットリストを追跡します。事実、階層構造は特定の方法で扱われなければならない。

+0

私が問題を見る限り、セレクタは選択された項目を照会するためのプロパティを追加するだけで、選択した項目のTreeViewにはその内容が追加されます。 –

+0

@ SoMoS:私はあなたのことを理解していません。アイテムがIsSelectedプロパティでスタイル設定されなければならない基本的なTreeViewアプリケーションを考えてみましょう。今、Selectorがルートレベルで実装されている場合、どのようにテンプレート階層に沿ってプロパティをマップできますか? –

関連する問題