Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 6 Min.

.NET Diagrams

Mit diesen Komponenten gestalten Sie dynamische Diagramme zur Laufzeit.
© dotnetpro
Diagramme erfasst der Mensch wesentlich schneller als irgendwelche Zahlenkolonnen. Deshalb kommt der Visualisierung von Daten eine große Bedeutung zu. Ganz gleich, ob die Zahlen aus Datenbanken oder Kalkulationstabellen kommen: Die Darstellung übernimmt dann eine Komponente. Dabei stehen häufig verschiedene Diagrammtypen wie Achsen-, Kreis-, Netz-, Funktions- oder Mengendiagramme zur Verfügung.Neben der Generierung aus Daten lassen sich Diagramme auch manuell zeichnen. Dazu kommen grafische Entwurfsprogramme zum Einsatz. Die bekanntesten Programme sind Microsoft Visio, LibreOffice/StarOffice Draw oder Dia.Die Grafik- und Entwurfsprogramme offerieren grundlegen­de Objekte für einen freien Entwurf, wie Figuren, Linien und Pfeile, variable Farben und Beschriftungen, mit deren Hilfe Sie interaktiv Diagramme ohne Datenanbindung erstellen.In Diagrammzeichenprogrammen werden grafische Objekte per Drag & Drop auf Zeichenflächen übernommen, in Größe und Darstellung angepasst und gegebenenfalls über Linien und Pfeile miteinander verbunden. Über Eigenschaften verändern Sie zudem das Aussehen der einzelnen Zeichenelemente. An dieser Stelle werden quelloffene Lösungen vorgestellt, über die Sie Zeichenfunktionen für Diagramme in eigene Anwendungen aufnehmen.

Diagram.NET: Diagramme für WinForms

Diagram.NET ist eine einfache Lösung mit Visio-Grundfunktionalität, die in C# entwickelt wurde, der Apache-2.0-Lizenz unterliegt und auf GitHub bereitgestellt wird. Das Projekt definiert ein grafisches Diagrammsteuerelement mit dem Namen Diagramm.NET für die Windows Forms und bietet zudem eine Beispielanwendung. Damit zeichnen Sie vordefinierte Figuren (Rechtecke, Ellipsen und Kommentare), ändern die Eigenschaften per Eigenschaftsgitternetz, setzen Objekte wahlweise in den Vorder- oder Hintergrund, verändern Beschriftungen, Rahmen, Platzierungen und Größen oder auch Farbverläufe. Das Drehen von Grafikobjekten wird nicht unterstützt. Grafiken werden im programmeigenen dng-Format verwaltet.

  1 

Der WPF Diagram Designer ist ein vierteiliges, umfassendes Open-Source-Tutorial für die Realisierung eines leistungsfähigen Diagram Designers für WPF (Windows Presentation Foundation). Die Lösung findet sich auf CodeProject, unterliegt der CPOL-Lizenz und wird im Quelltext- und Binärformat angeboten. Der erste Teil widmet sich dem Aufnehmen, der Größenänderung, dem Verschieben sowie dem Rotieren von grafischen Elementen in Canvas-Zeichenbereichen. Dabei wird besonderer Wert auf eine attraktive Bereitstellung von Zugriffspunkten (Adorner) gelegt.Der zweite Teil optimiert die Funktionalitäten zur Objektpositionierung, zeigt die Übernahme von grafischen Elementen (Symbole, Figuren) aus einer Werkzeugsammlung per Drag-and-drop (mitsamt der Elementverwaltung), definiert Zoomfunktionen und zeigt die Gummiband- und Tastaturauswahl von Objekten.Der dritte Teil widmet sich dann dem Erstellen von Verbindunglinien und -pfeilen. Auch hier wird den variablen Verbindungsvarianten besonderer Raum zugestanden.Weiterführende Bearbeitungsfunktionen zeigt dann der vierte und letzte Teil, wie das Laden und Speichern von Diagrammen, das Ausschneiden, Kopieren, Einfügen und Löschen von grafischen Objekten, das Ausrichten von Objekten, das horizontale oder vertikale Ausrichten von Objekten untereinander sowie das Platzieren von Objekten in den Vorder- oder Hintergrund.Alle Funktionen sind in einer Beispielanwendung zusammengefasst, die bereits als attraktiver Diagrammeditor einsetzbar ist. Weiterführende Exportformate werden nicht definiert und sind bei Bedarf selbst nachzurüsten.www.dotnetpro.de/SL2208HighFive1

DIA: Die Open-Source-Diagrammalternative zu VISIO

Wollen Sie sich die Umsetzung eines Zeichenprogramms für das Entwerfen strukturierter Diagramme näher anschauen, dann sei die Open-Source-Alternative zu Visio mit dem Namen DIA empfohlen. Die Software unterliegt der GPL-V2-Lizenz, ist Bestandteil des Gnome-Projektes, wurde mit der Programmiersprache Python entwickelt und ist zudem plattformübergreifend nutzbar (zum Beispiel Windows, Linux, MacOS). Vordefinierte Grafikelemente für bestimmte Diagrammtypen werden hier über circa 30 vordefinierte Symbolbibliotheken bereitgestellt (zum Beispiel Fluss- und Netzwerkdiagramme, UML-Diagramme, elektrische Schaltpläne). Generierte Zeichnungen lassen sich in unterschiedliche Formate exportieren (zum Beispiel png, pdf, eps, svg, cgm). DIA verwendet eine gezippte XML-Datei als Standarddatenformat. Um die Grafikfunktionalität plattformübergreifend verfügbar zu machen, nutzt das Programm das GUI-Toolkit GTK+ (GTK - GIMP Toolkit).

 2 

Auch das Projekt MVVM Diagram Designer findet sich auf CodeProject, wurde mit C# entwickelt und unterliegt der CPOL-Lizenz. Es basiert grundlegend auf dem zuvor vorgestellten Projekt WPF Diagram Designer.Nutzt das letztgenannte Projekt einen Ansatz mit einer steuerelementorientierten Datenverwaltung, soll diese Lösung einen MVVM-getriebenen Ansatz (Model-View-ModelView) verfolgen. Dies erfordert weitreichende Quelltext­anpassungen sowie zusätzlichen Code. Einzelne Funktionen finden dabei keine gesonderte Berücksichtigung, wie das Rotieren und Ändern von Größen bei Elementen.Die Datenanbindung an grafische Elemente soll ebenso unterstützt werden wie das Löschen von Elementen über ein ICommand-Interface. Die Diagrammanlage ist per ViewModel steuerbar und auch komplexere Objekte werden per View­Model angelegt. Grafische Elemente sollen zudem verknüpfbar und manipulierbar sein. Diagramme werden in einem Sicherungsspeicher abgelegt und darüber auch wieder geladen. Vom ursprünglichen Projekt wurden lediglich zwei Klassen unverändert übernommen. Der restliche Quellcode ist neu implementiert. Die Umsetzung erfolgt in sechs wesentlichen Schrittenwww.dotnetpro.de/SL2208HighFive2

WpfShapeEditor: Einfache Lösung für den Einstieg

Mit dem WpfShapeEditor liegt eine weitere quelloffene Lösung vor, die die Grundfunktionen eines Diagram Editors zeigt. Für WPF mit der Programmiersprache C# entwickelt, wird sie über GitHub angeboten und unterliegt der MIT-Lizenz. Damit lassen sich Objekte zeichnen, bewegen und deren Größe anpassen – alles zur Laufzeit. Die Lösung macht die Funktionalität über ­eine Klassendatei verfügbar, die Sie in eigene Lösungen ein­binden. Für komplexere Anwendungen lässt sich die Lösung ausbauen.

 3 

Das Reflective Class Diagram Creation Tool ist eine weitere Lösung auf Codeproject, die ebenfalls in C# realisiert wurde und der CPOL-Lizenz unterliegt. Sie zeigt, wie Sie aus .NET-Anwendungen selbst Klassendiagramme generieren. Die Lösung liegt in zwei Programmversionen vor. Die erste Variante zeigt das Öffnen einer Datei, die Prüfung auf CLR-Konformität, das Generieren von Projektbäumen und Klassen, die Klassenanalyse per Reflection, die Auswahl der anzuzeigenden Elemente und die Diagrammanlage samt Speicherung und Druckfunktion.Der zweite Teil widmet sich dem Verschieben von Diagrammelementen, der optimierten Darstellung von Verbindungslinien und der verbesserten Ausgabe von Diagrammen. Die Lösung zeigt insbesondere die Auswertung von .NET-Assemblies via Reflection, die Integration von IL-Funktionscode (Intermediate Language) und die grafische und dynamische Diagrammausgabe via GDI+. Neben einem Beispielprogramm erhalten Sie eine Assembly-DLL, die Sie zur Funktio­nalität in eigenen Programmen nutzen können.www.dotnetpro.de/SL2208HighFive3

 4 

Das Projekt QuickDiagram findet sich als Open-Source-Variante auf GitHub und zeigt, wie Sie ein Quelltextvisualisierungsdiagramm erzeugen, wobei die Ausgabe direkt innerhalb in Visual Studio erfolgt. Unterstützt werden die Visual-Studio-Versionen 2015, 2017 und 2019. Das Add-in unterliegt der GPL-V2-Lizenz und legt Quelltextstrukturen und Beziehungen grafisch offen.Es bietet die Grundfunktionen von CodeMap. CodeMap ist eine Funktion der Enterprise-Editionen von Visual Studio. In den generierten Grafiken doppelklicken Sie auf Knoten, um zu den zugehörigen Quelltextdeklarationen zu springen. Diagramme lassen sich als Bilder speichern oder direkt über die Zwischenablage austauschen. Mittlerweile ist die Lösung in einer erweiterten Fassung kommerziell über die Projektseite codartis erhältlich (rund 60 US-Dollar).www.dotnetpro.de/SL2208HighFive4

 5 

NetworkView ist ein weiteres Beispielprojekt in C#, das Sie auf CodeProject finden und das der MIT-Lizenz unterliegt. Es zeigt die Erstellung eines WPF-Steuerelements, über das Sie Netzwerkdiagramme, Graphen und Flussdiagramme visualisieren und bearbeiten. Die Lösung zeichnet sich insbesondere durch eine umfassende und detaillierte Beschreibung zur Umsetzung aus (zum Beispiel MVVM, WPF-Stile, Steuerelementvorlagen, Datenvorlagen, Entwurfskonzepte, Objekte und Verbindungen, User-Interface-Elemente sowie Arbeitsschritte zur Umsetzung). ⇥Andreas Maslowww.dotnetpro.de/SL2208HighFive5

Neueste Beiträge

DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
„Sieh die KI als Juniorentwickler“
CTO Christian Weyer fühlt sich jung wie schon lange nicht mehr. Woran das liegt und warum er keine Angst um seinen Job hat, erzählt er im dotnetpro-Interview.
15 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Mythos Motivation - Teamentwicklung
Entwickler bringen Arbeitsfreude und Engagement meist schon von Haus aus mit. Diesen inneren Antrieb zu erhalten sollte für Führungskräfte im Fokus stehen.
13 Minuten
19. Jan 2017
Evolutionäres Prototyping von Business-Apps - Low Code/No Code und KI mit Power Apps
Microsoft baut Power Apps zunehmend mit Features aus, um die Low-Code-/No-Code-Welt mit der KI und der professionellen Programmierung zu verbinden.
19 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige