Winforms TreeViewコントロールに階層的なデータがあり、プレゼンターが変更を同期できるようにプロパティとして公開する必要があります。明らかにするために、私はパッシブビューパターンを使用しています。ほとんどのWinFormコントロールでは、これは簡単ではありません。コントロール自体は、プレゼンターに簡単に渡すことができるシステムタイプとしてデータを公開します。 TreeViewsは、その複雑さのために、システムタイプに簡単にはマッピングされません。私はフレームワークのコレクション型を探しましたが、ツリーは見落とされているようです。 (Microsoftは、いくつかのより高いレベルのクラスのためのフードunderneithツリー構造を使用するように見えるが、汎用の家族ツリークラスを作成しないことを選んだ。)TreeViewコントロールの階層データをMVPプレゼンターにどのように公開する必要がありますか?
いずれにせよ、私は公開しようとしているデータは、より多くのことはありません2つのノードが深いので、私はTreeViewを使用し続けるつもりはないと確信しています。プレゼンターをTreeNodeCollectionに結びつけないようにする理由は、すべてです。
私はすでにいくつかのアイデアを作ってみたんだけど、SOコミュニティにそれらをオフにバウンスしたい:
- 言う...コレクションのコレクションとしてリストの辞書をツリーを公開します。
- カスタムツリー構造を作成し、プロセスのビューに依存関係を導入します。
その子ノードは、理論的に50ほどの高いカウントを打つことができますが、実際に
3以上または4任意の提案を行っていないでしょうしながら、トップレベルのノードは、5-10のエントリを平均化しますか?私はそれらのいずれかの経験を持っていない
:
ありがとうございました。第三者ツリーの実装も一つの選択肢です。それでも、ビューに余分な依存関係が導入されます。 –