web-dev-qa-db-ja.com

WPF:組み込みのTreeGrid / TreeListViewはありますか?

私はこのようなものが必要です:

alt text

(TreeViewとListViewの両方の側面、つまりHirearchyとColumnsが必要です。)

しかし、WPFで必要です。これは組み込みのものですか、それとも自分で構築する必要がありますか?

VS2010はWPFで構築されているため、フレームワークのどこかにある必要があると思います。

編集:TreeViewを使用して必要な機能の一部と、列が親グリッドの列にバインドされたグリッドを取得できましたが、機能に癖が多すぎます。

編集2:私はまだこれを行う方法をまだ見つけていません。何か案は?

26
John Gietzen

MSDNのこの投稿では、ネイティブWPFを使用してTreeView/Gridハイブリッドを実現しています。これは、TreeViewおよびGridコントロールに基づいています。複数の列を持つツリービューをサポートしますが、並べ替えやフィルタリングはサポートしません

http://dlaa.me/blog/post/98988

編集:私は最近このコードを統合しました、そしてそれは非常にうまく機能し、あなたが望むものを正確に与えます: http://www.codeproject.com/Articles/30721/WPF-TreeListView-Control

10
gls123

Xceed.Wpf.DataGridを検討しましたか?

フルバージョンここ のデモを見ることができます。

拡張WPFツールキット ™- Ms-PLライセンス の一部としてコミュニティエディションもあります

フルバージョンの機能のリスト
Community Editionの機能のリスト
残念ながら、テーブルスタイルのコンパイルは見つかりませんでした。

P.S.

  1. Visual Studio 2010(Professional edition)でSnoop(WPF Spyユーティリティ)およびSpy ++を使用すると、 TreeGridWatchLocal、の中に表示されていることがわかりました。およびAutostool-windowsは、[〜#〜] treegrid [〜#〜]これはnotWpfコンポーネントです。 (しかし、それが何であるかはわかりません)。
    興味深いことに、Breakpointsツールウィンドウは、2つのコンポーネントを並べて使用して構築されていることがわかりました-SysTreeView32 およびSysListView32

  2. 私はXceedとはまったく関係がありません:-)

編集:
階層は両方のバージョンで実現できるようですが、Master-Detailフルバージョン、およびコミュニティバージョンでは、グループ
:-(

5
itsho

TreeViewのテンプレートで特別に配置された共有グリッドオブジェクトを使用して、この表示を偽造できる場合があります...

ただし、Visual Studioに表示されるのは実際にはWPFコントロールの実装ではないと思います。これは、Visual Studio 2008にもあり、カスタムネイティブコントロールまたはカスタムWindowsフォームコントロールのいずれかである可能性があります。

ただし、朗報です。絶対にこの経験が必要で、すぐに必要な場合は...完全なハックですが、WindowsフォームをWPFアプリと相互運用します。

マイクロソフトの従業員は、2006年にwinforms TreeGridViewの実装についてブログを書きました。

1
Jeff Wilcox