Winforms TreeView コントロールにいくつかの階層データがあり、それをプロパティとして公開して、プレゼンターが変更を同期できるようにする必要があります。明確にするために、私はパッシブ ビューパターンを使用しています。ほとんどの WinForm コントロールでは、これは簡単です。コントロール自体は、プレゼンターに簡単に渡すことができるシステム タイプとしてデータを公開します。TreeViews は、複雑であるため、システム タイプに簡単にマップできません。フレームワーク コレクション型を探しましたが、ツリー型は見落とされているようです。(Microsoft は、いくつかの高レベル クラスの内部でツリー構造を使用しているように見えますが、汎用ツリークラスのファミリーを作成しないことを選択しました。)
いずれにせよ、私が公開しようとしているデータの深さは 2 ノードを超えないため、TreeView を使い続けるかどうかさえわかりません。さらに、プレゼンターを TreeNodeCollection に結び付けることを避ける必要があります。
私はすでにいくつかのアイデアを思いつきましたが、SO コミュニティからそれらを跳ね返したかっただけです。
- ツリーをコレクションのコレクションとして公開します...リストの辞書としましょう。
- カスタム ツリー構造を作成し、プロセス内のビューに依存関係を導入します。
最上位ノードは平均 5 ~ 10 エントリで、子ノードは理論的には 50 ものヒット数を達成できますが、実際には 3 または 4 を超えることはありません。
助言がありますか?