Grundlegendes zu Befehlen und Steuerelementen

Die Trennung von Logik und Präsentation ist die Entwurfsphilosophie, die das Befehlspräsentationssystem des Windows-Menübandframeworks inspiriert – ein System, das auf einem Entwurfsmuster basiert, bei dem Funktionalität und Verhalten unabhängig von den Steuerelementen implementiert werden, die diese Funktionalität verfügbar machen.

Einführung

In diesem Artikel wird der Entwurf des Menübandframeworkbefehlssystems erläutert. Es beschreibt die Konzepte von Befehlen und Steuerelementen und untersucht, wie sie zusammenarbeiten, um eine umfassende Befehlserfahrung mit einer Vielzahl neuer Benutzeroberflächenfunktionen bereitzustellen.

Das Windows-Menübandbefehlssystem

Im Menübandframework sind Befehle und Steuerelemente unabhängige Entitäten. Ein Befehl ist eine abstrakte Struktur ohne Präsentationseinschränkungen, die eine bestimmte Aufgabe oder Klasse von Funktionen darstellt. Ein Steuerelement ist dagegen ein konkretes Objekt, das command-Funktionen über die Menübandbenutzeroberfläche verfügbar macht.

Diese Unterscheidung bietet die Möglichkeit, Befehle zu definieren, die frei von Ui-Details sind und in der Lage sind, mit der Absicht einer Aktion auszuführen, ohne die Art des Aufrufens der Aktion verwalten zu müssen.

Steuerelemente

Steuerelemente sind die UI-Objekte, die für die Command-Präsentation erforderlich sind. Sie werden zur Laufzeit vom Framework basierend auf Benutzerinteraktionen und einer Reihe von inhärenten Eigenschaften und Verhaltensweisen gerendert und verwaltet.

Die vom Framework verwaltete Flexibilität der Benutzeroberfläche, die als adaptives Layout bezeichnet wird, ist eine der großen Stärken des Menübands. Menübandsteuerelemente können sich automatisch über frameworkabhängige oder entwicklerdefinierte Layoutvorlagen neu konfigurieren, die auf verschiedene Laufzeitanforderungen reagieren können, ohne eine einzige Zeile Präsentationscode zu schreiben. Weitere Informationen finden Sie unter Anpassen eines Menübands durch Größendefinitionen und Skalierungsrichtlinien.

Neben den Vorteilen des adaptiven Layouts bieten eine Reihe komplexer Menübandsteuerelemente eigenständige Lösungen für bestimmte Benutzeroberflächenproblembereiche. Durch das Angebot eines ausgereiften Interaktionsmodells bieten Menübandsteuerelemente wie FontControl oder ColorPicker die Möglichkeit, Daten abstrakter zu bearbeiten, indem Eigenschaftenbehälter mit tatsächlichen Schriftart- oder Farbattributen anstelle verschiedener Untersteuerelemente, Enumerationen und Indexwerte von Windows-Standardsteuerelementen verwendet werden.

Befehle

Die Befehlsimplementierungen sind lose an die Menübandsteuerelemente gekoppelt, die ihre Funktionalität verfügbar machen, und sind die Domäne der Hostanwendung und nehmen die Form von Ereignislistenern, Befehlshandlern und verschiedenen Command-Eigenschaften an.

Befehle werden im Menübandmarkup mit einer eindeutigen ID deklariert oder einer vom Markupcompiler generierten ID bei der Kompilierung zugewiesen. Befehle werden Steuerelementen über einen Befehlsnamen zugeordnet, aber im Gegensatz zu Steuerelementen wird ihre tatsächliche Funktionalität im Code definiert, wo sie über die Befehls-ID an bestimmte Befehlshandler gebunden werden.

Hinweis

Bei der Kompilierung wird diese ID in einer ID-Definitionsheaderdatei gespeichert, die Befehle für die entsprechenden Befehlshandler in der Menübandhostanwendung verfügbar macht.

 

Jeder Befehl verfügt über einen zugrunde liegenden Command-Typ, der in der UI_COMMANDTYPE-Enumeration aufgeführt ist.

Die Befehlsoberfläche in Aktion

Die Funktionen dieses Befehlsmodells werden durch die Symbolleiste für den Menüband-Schnellzugriff (QAT) veranschaulicht. Das QAT bietet Endbenutzern eine Möglichkeit, auf einfache Weise eigene Tastenkombinationen für praktisch jedes Steuerelement auf der Menüband-Benutzeroberfläche zu definieren. Eine Verknüpfung wird der QAT zur Laufzeit dynamisch hinzugefügt, wenn der Benutzer mit der rechten Maustaste auf ein Menüband-Steuerelement klickt und im Kontextmenü Zur Symbolleiste für den Schnellzugriff hinzufügen auswählt.

Die folgende Abbildung zeigt die Durch ein SplitButton-Steuerelement dargestellten Elemente Einfügen und Einfügen aus Befehlen im Menüband von Windows 7 Paint.

Abbildung der Geteilten Schaltfläche

Die folgende Abbildung zeigt die gleichen Einfüge- und Einfügevorgänge aus Befehlen, die immer noch durch ein SplitButton-Steuerelement dargestellt werden, im Menüband QAT von Windows 7 Paint.

Abbildung der Geteilten Schaltfläche

Wenn ein Steuerelement vom QAT gehostet wird, behält die neue instance des Steuerelements alle Funktionen des ursprünglichen Steuerelements bei, ohne dass zusätzliche Ereignislistener und Befehlshandler zur Unterstützung erforderlich sind. Beide Steuerelemente sind über einen freigegebenen Befehlsbezeichner an den gleichen Menübandbefehlshandler gebunden. Auf diese Weise behandelt das Framework beide Steuerelemente als ein Steuerelement, unabhängig davon, welches aufgerufen wird.

Hinweis

Die gleichen Vorteile ergeben sich, wenn Befehle zur Entwurfszeit in ein ContextPopup integriert werden. In diesem Fall können die Einfügebefehlshandler unabhängig davon verwendet werden, ob das SplitButton-Steuerelement im Menüband, im QAT oder im ContextPopup angezeigt wird.

 

Einführung in das Windows-Menübandframework

Erstellen einer Menübandanwendung

Deklarieren von Befehlen und Steuerelementen mit Menübandmarkup