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
Miscellaneous

Neueste Beiträge

Cursor als KI-Turbo für Fluent UI Blazor - Die KI-IDE Cursor in der Praxis, Teil 4
Die auf VS Code basierende KI-IDE Cursor eignet sich für die Entwicklung mit Microsoft Fluent UI Blazor. Für eine effizientere Arbeit mit dem KI-Agenten existiert inzwischen ein MCP-Server aus dem Fluent-UI-Blazor-Umfeld.
7 Minuten
24. Jun 2026
UX goes Dev - Figma als Scharnier zwischen Entwurf, Design und .NET-Entwicklung
Figma entwickelt sich zur zentralen Plattform für integrierte Design-Dev-Workflows, in denen Gestalter:innen und Entwickler:innen von Beginn an am selben Artefakt arbeiten.
19 Minuten
18. Jun 2026
GitHub Copilot mit Markdown-Dateien steuern
GitHub Copilot liest Markdown-Dateien, die an bestimmten Orten im System oder im Projekt liegen. Wer diese Dateien gezielt einsetzt, gibt Copilot dauerhaften Kontext – ohne ihn bei je-dem Chat-Start neu erklären zu müssen.
5 Minuten
22. Jun 2026

Das könnte Dich auch interessieren

C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
Avalonia auf mobilen Plattformen
.NET MAUI ist längst nicht die einzige Variante zur Entwicklung von Android- und iOS-Apps in C#. Avalonia kommt mit anderen Ansätzen wie eigenem Rendering und grenzt sich dadurch sinnvoll ab.
5 Minuten
18. Sep 2025
Web-Apps mit Fluent UI Web - Komponentenbasierte Apps mit Fluent/FAST, Teil 4
Microsoft stellt mit Fluent UI Web eine Sammlung von Tools sowie React- und Webkomponenten für die Entwicklung von Web-Apps zur Verfügung.
20 Minuten
15. Jul 2024
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige