2009-02-18 17 views
6

Ich habe eine Datenstruktur, die eine gerichtete Graph darstellt und ich bin auf der Suche nach einer guten Silverlight-Visualisierung, um mich von Knoten zu Knoten zu navigieren, vorzugsweise mit ein paar nette Animation.Graph Visualisierung in Silverlight

Kennt jemand gute UI-Steuerelemente oder Frameworks für diese Art von Anzeige? Sogar eine Probe aus einem anderen Bereich (vielleicht ein soziales Netzwerk?). Meine Diagramme haben nicht viele Knoten, so dass die Leistung kein Problem darstellt.

Ich habe die Prefuse Bibliothek für Java (und Flash) gesehen, die ideal wäre. Die "Degree of Interest" -Visualisierung ist die Art von Dingen, nach denen ich suche, aber ich kann in Silverlight nichts finden.

Danke für irgendwelche Tipps.

Antwort

4

Es gibt eine Open-Source-Option, die Teil der Silverlight Bag-O-Tricks ist. Check it out und eine Demo sehen hier (verwenden Sie die erste Demo-Link):

http://www.codeplex.com/BagOTricks

auch Es gibt eine WPF-Version:

http://j832.com/bagotricks/

+0

Danke Jared, das bietet nicht so viel Augenschmaus wie die Prefuse-Bibliotheken, aber es ist das Beste, was ich bisher für SL gesehen habe. – njr101

0

zugeben muss ich es noch nicht tryed haben heraus mein selbst aber quickgraph sieht versprechend

0

@Rune FS

QuickGr aph hat keine Visualisierungsfunktionen, zumindest nicht für Silverlight. Es behandelt nur die Datenstrukturen und Algorithmen des Graphen.

1

Ich habe eine Grafikbibliothek für Silverlight erstellt, die Dot als Basis verwendet. Bitte überprüfen Sie: http://dot2silverlight.codeplex.com/

Ich mache einige Verbesserungen, um mehr Formen und Arten von Pfeilen zu unterstützen.

daniela

0

QuickGraph tut es das in VS 2010. Ich Veränderungen nur angesehen werden kann leicht machen, eine Grafik und Ausgabe Directed Graph Markup Language (DGML) zu konstruieren geprüft zu dem Projekt und ich habe festgestellt, dass es für den Einbau in Silverlight konzipiert wurde. Vielleicht könntest du es in Verbindung mit einem Silverlight DGML-Viewer verwenden