3

C# で組織ツリー グラフ (上から下または左から右) を実装しており、ツリーを描画するための適切なアルゴリズムを探しています。推奨事項はありますか?

ありがとう

アップデート

ようやく作業する時間ができたので、カスタムパネルを作成してツリーを保存および描画するための独自のライブラリを作成することになりました。特定のアルゴリズムに従っているかどうかわからないので、自分で作成しました-ペンと紙+時間に戻ります:)

必要な機能をすべて追加したら、codeplex でオープン ソースにするつもりです。codeplex にアップしたら、別の更新を投稿します。

ありがとう

4

5 に答える 5

2

あなたが探しているキーワードはForce-based algorithmだと思います。

于 2011-02-25T15:06:27.393 に答える
1

標準のSilverlightのみを使用する場合にも可能です。ItemsControl(ContainerTemplateとしてStackPanelを持っているため、アイテムを垂直または水平に表示できます)をHierarchicalDataTemplateと組み合わせて使用​​します。ItemTemplateで設定したアイテムを表示する方法とそれが直接機能する必要があります

于 2011-02-25T14:39:51.530 に答える
1

ツリーを描画する代わりに使用できるクールなビジュアライゼーションは、Squarified Treemap です。これは、四角形にパックされたときの葉ノードの相対的なサイズを示す階層データ構造のビューです。再帰的に描画されるため、2 つのリーフ ノードが階層の異なるサイズのサブツリーにある場合、2 つのリーフ ノードは異なるサイズで描画されます。

http://en.wikipedia.org/wiki/Treemapping

于 2011-04-05T16:44:05.657 に答える
0

検討する可能性のあるオプションの1つは、TreeViewコントロールと変換を使用して、希望どおりに表示することです。

http://forums.silverlight.net/forums/p/149065/334501.aspx

正直なところ、サードパーティのコンポーネントを使用する方が、再発明するよりもはるかに優れた「アルゴリズム」になると思います。検討する必要がある場合は、SLにこの機能を提供する製品がいくつかあります。

http://www.nwoods.com/components/silverlight-wpf/goxam-overview.htm http://www.mindfusion.eu/diagramlite.html http://www.syncfusion.com/products/user-interface- エディション/silverlight/diagramhttp://www.yworks.com/en/products_yfilessilverlight_about.html

于 2011-04-05T16:53:29.100 に答える
0

これは、この件に関して私が見つけた最高の記事です: A Graph Tree Drawing Control For wpf

WPF と Silverlight のバージョンがあります。ノードを配置するための John Q. Walker II アルゴリズムを実装し、完全に機能します。左から右に表示できるように、まだ回転に取り組む必要があります。現在は上から下のみです。

アルゴリズムの詳細については、http ://www.cs.unc.edu/techreports/89-034.pdf を参照してください。

于 2012-08-10T19:02:54.587 に答える