Unterstützen von Designs mit hohem Kontrast (XAML)

Applies to Windows and Windows Phone

Sie suchen die HTML/JavaScript-Version dieses Themas? Informationen finden Sie unter Unterstützen von Designs mit hohem Kontrast (HTML).

Windows-Runtime-Apps mit C++, C# oder Visual Basic unterstützen standardmäßig Designs mit hohem Kontrast. Wenn sich ein Benutzer für die Verwendung eines Designs mit hohem Kontrast aus den Systemeinstellungen oder Tools für die Barrierefreiheit entscheidet, werden vom Framework automatisch Farben und Stileinstellungen verwendet, mit denen für Steuerelemente und Komponenten auf der UI ein Layout und Rendering mit hohem Kontrast entsteht.

Diese standardmäßige Unterstützung basiert auf der Verwendung der Standarddesigns und -vorlagen. Diese Designs und Vorlagen verweisen auf Systemfarben als Ressourcendefinitionen. Die Ressourcenquellen werden automatisch geändert, wenn sich das System in einem Modus mit hohem Kontrast befindet. Wenn Sie jedoch benutzerdefinierte Vorlagen, Designs und Stile für die Steuerelemente verwenden, achten Sie darauf, dass die integrierte Unterstützung des hohen Kontrasts nicht deaktiviert ist. Bei Verwendung eines XAML-Designers für Microsoft Visual Studio für die Formatierung wird vom Designer neben dem primären Design immer ein separates Design mit hohem Kontrast generiert, wenn Sie eine Vorlage definieren, die sich wesentlich von der Standardvorlage unterscheidet. Die separaten Designwörterbücher sind in der ThemeDictionaries-Sammlung, einer dedizierten Eigenschaft eines ResourceDictionary-Elements, enthalten.

Weitere Informationen zu Designs und Steuerelementvorlagen finden Sie unter Schnellstart: Steuerelementvorlagen. Die XAML-Ressourcenwörterbücher und -Designs enthalten Informationen zu bestimmten Steuerelementen sowie dazu, wie die Designs konstruiert sind und wie sie auf Ressourcen verweisen, die für die möglichen Einstellungen für hohen Kontrast ähnlich, jedoch nicht identisch sind.

Ermitteln, wann ein Design mit hohem Kontrast aktiviert ist

Windows-Runtime-Apps können mit Mitgliedern der AccessibilitySettings-Klasse die aktuellen Einstellungen für Designs mit hohem Kontrast ermitteln. Mit der HighContrast-Eigenschaft wird ermittelt, ob derzeit ein Design mit hohem Kontrast ausgewählt ist. Falls für HighContrast true festgelegt ist, besteht der nächste Schritt in der Überprüfung des Werts der HighContrastScheme-Eigenschaft, um den Namen des verwendeten Designs mit hohem Kontrast abzurufen. "Hoher Kontrast (Weiß)" und "Hoher Kontrast (Schwarz)" sind typische Werte für HighContrastScheme, auf die Ihr Code reagieren sollte. XAML-definierte ResourceDictionary-Schlüssel dürfen keine Leerstellen enthalten. Daher lauten die Schlüssel für diese Designs in einem Ressourcenwörterbuch in der Regel "HighContrastWhite" und "HighContrastBlack". Darüber hinaus müssen Sie Fallback-Logik für ein Standarddesign mit hohem Kontrast aufnehmen, falls als Wert eine andere Zeichenfolge angegeben ist. Im XAML-Beispiel für hohen Kontrast ist die Logik dafür dargestellt.

Hinweis  Achten Sie darauf, dass Sie den AccessibilitySettings-Konstruktor aus einem Bereich aufrufen, in dem die App initialisiert ist und bereits Inhalte anzeigt.

Ab Windows 8.1 können Apps während ihrer Ausführung zur Verwendung von Ressourcenwerten mit hohem Kontrast wechseln. Dies funktioniert, solange die Ressourcen mithilfe der Markuperweiterung ThemeResource im Stil- oder Vorlagen-XAML-Code angefordert werden. Dieses ThemeResource-Verfahren wird von allen Standarddesigns (generic.xaml) verwendet. Sie können also dieses Verhalten erzielen, wenn Sie die Standarddesigns für Steuerelemente verwenden. Mit benutzerdefinierten Steuerelementen oder benutzerdefinierten Steuerelementformatierungen ist dies möglich, wenn Sie dieses ThemeResource-Ressourcenverfahren auch in Ihren benutzerdefinierten Vorlagen und Stilen verwendet haben. Von für Windows 8 entwickelten Apps werden Ressourcen jedoch nicht automatisch erneut geladen, während die Apps ausgeführt werden.

Windows 8-Verhalten

Unter Windows 8 wurde die ThemeResource-Markuperweiterung nicht unterstützt. Sie ist ab Windows 8.1 verfügbar. Außerdem wurde unter Windows 8 auch das dynamische Umschalten zwischen den designbezogenen Ressourcen für Windows-Runtime-Apps nicht unterstützt. Die App musste neu gestartet werden, damit die Designänderung für die XAML-Vorlagen und -Formate wirksam wurde. Dieses Verhalten beeinträchtigt die Benutzerfreundlichkeit. Es wird daher dringend empfohlen, Apps neu zu kompilieren und auf Windows 8.1 auszurichten, damit Formate mit Nutzung von ThemeResource verwendet werden können und dynamisch zwischen Designs gewechselt werden kann, wenn Benutzer dies wünschen. Apps, die für Windows 8 kompiliert wurden, aber unter Windows 8.1 ausgeführt werden, weisen weiterhin das Windows 8-Verhalten auf.

Verwandte Themen

Beispiel für UI-Kontrast und -Einstellungen
XAML-Beispiel für Barrierefreiheit
XAML-Beispiel für hohen Kontrast
AccessibilitySettings

 

 

Anzeigen:
© 2014 Microsoft