Baumkontrolle Muster

Das Aktionssymbol wird für alle Aktionen verwendet, die für die Elemente in der Struktur ausgeführt werden. Dies kann das Bearbeiten, Löschen, Nachziehen, Nachziehen usw. umfassen. Die erste Demoanwendung, die wir untersuchen werden, füllt eine TreeView mit einem Stammbaum. Es bietet eine Suchfunktion, die dem Benutzer am unteren Rand der Benutzeroberfläche zur Verfügung gestellt wird. Diese Demo ist im Screenshot unten zu sehen: Ein weiteres Stück der Benutzeroberfläche dieser Demo ist der Suchbereich. Dieser Bereich stellt dem Benutzer eine TextBox zur Verfügung, in die eine Suchzeichenfolge eingegeben wird, und eine Schaltfläche “Suchen”, um eine Suche nach dem Stammbaum durchzuführen. Hier ist das XAML für den Suchbereich: Die aktuelle Vordergrundfarbe für dieses Steuerelement, d. h. die Farbe, die das Steuerelement zum Zeichnen des Texts verwendet. Das TreeView-Steuerelement wird verwendet, um hierarchische Darstellungen von Elementen anzuzeigen, die der Art und Weise ähneln, wie die Dateien und Ordner im linken Bereich des Windows Explorers angezeigt werden. Jeder Knoten kann einen oder mehrere untergeordnete Knoten enthalten.

Ruft die Auflistung von Strukturknoten ab, die dem Strukturansichtssteuerelement zugewiesen sind. Im Gegensatz dazu ist die WPF TreeView äußerst flexibel, unterstützt inhärent die UI-Virtualisierung (d. h., TreeViewItems werden bei Bedarf erstellt), ermöglicht eine vollständige visuelle Anpassung und bietet vollständige Unterstützung für die Datenbindung. Diese ausgezeichneten Eigenschaften haben ihren Preis. Sie machen das Steuerelement komplizierter als winForms TreeView. Sobald Sie gelernt haben, wie Sie richtig mit dem WPF TreeView arbeiten, verschwinden diese Komplexitäten, und es ist ganz einfach, die volle Leistungsfähigkeit der Steuerung zu nutzen. Das Kapitel 6 dieses Buches als etwa zwölf Entwerfen von Vätermustern, die verwendet werden sollen, um komplexe Daten zu zeigen. Dies kann verwendet werden, wenn Benutzer Elemente in der Struktur ziehen und anordnen können.

Das AST wird bei der semantischen Analyse intensiv genutzt, wobei der Compiler auf die korrekte Verwendung der Elemente des Programms und der Sprache überprüft. Der Compiler generiert auch Symboltabellen basierend auf der AST während der semantischen Analyse. Eine vollständige Durchquerung des Baumes ermöglicht die Überprüfung der Richtigkeit des Programms. Ich habe eine Art Baumstruktur, die eine Hierarchie von Layern in einer Karte darstellt, geteilt durch Typen von Layern und Kategorien. Jeder Knoten kann eine andere Klasse für verschiedene Layer-Typen sein (aber alle Knoten implementieren eine gemeinsame Schnittstelle). Ein Besucher vielleicht, um Eingabebaum zu gehen und entsprechende UI-Baum zu erstellen? Ruft das Layout des Hintergrundbilds für das TreeView-Steuerelement ab oder legt es fest. Eine kleine zusammengesetzte Struktur wird durch Hinzufügen von Knoten zu übergeordneten Knoten erstellt. Nach Abschluss rufen wir traverse auf, die über jeden Knoten in der Struktur iteriert und seinen Namen und seine Tiefe anzeigt (durch Anzeigen des Einzugs).

Alle Knoten im Zusammengesetzten Muster verwenden einen gemeinsamen Satz von Eigenschaften und Methoden, der sowohl einzelne Objekte als auch Objektauflistungen unterstützt. Diese gemeinsame Schnittstelle erleichtert das Entwerfen und Konstruieren von rekursiven Algorithmen, die über jedes Objekt in der Composite-Auflistung iterieren. Die “Add”-Trigger sollten über dem Baumcontainerbereich platziert werden. (Hinweis: Die Umrisslinie des Containers wird nicht immer benötigt.) Anmerkungen: Das Verschieben der Elemente in der Struktur wirkt sich auch auf die übergeordnete Untergeordnete Beziehung aus.