Acryl-Material

Herobild

Acryl ist eine Art von Pinsel, der eine durchscheinende Textur erzeugt. Sie können Acryl auf App-Oberflächen anwenden, um Tiefe hinzuzufügen und eine visuelle Hierarchie herzustellen.

Wichtige APIs: AcrylBrush-Klasse, Background-Eigenschaft, Window.SystemBackdrop-Eigenschaft, DesktopAcrylicBackdrop-Klasse

Acryl im hellen Design Acryl in hellem Design

Acryl im dunklen Design Acryl im dunklen Design

Acryl und das Fluent Design-System

Mit dem Fluent Design-System erstellen Sie moderne Oberflächen, die Licht, Tiefe, Bewegung, Material und Skalierungsmöglichkeiten beinhalten. Acryl ist eine Komponente des Fluent Design-Systems, die Ihrer App physische Struktur (Material) und Tiefe hinzufügt. Weitere Informationen finden Sie unter Fluent Design – Material.

Acrylmischungen

Die auffälligste Eigenschaft von Acryl ist seine Transparenz. Es gibt zwei Acrylmischungstypen, die ändern, was durch das Material sichtbar ist:

  • Hintergrund-Acryl zeigt das Desktop-Hintergrundbild und andere Fenster, die sich hinter der derzeit aktiven App befinden, und fügt Tiefe zwischen Anwendungsfenstern hinzu, während die Personalisierungseinstellungen des Benutzers gefeiert werden.
  • In-App-Acryl fügt Tiefenwirkung innerhalb des App-Frames hinzu, wodurch sowohl Fokus als auch Hierarchie erzeugt werden.

Hintergrund-Acryl

In-App-Acryl

Vermeiden Sie das Aufschichten mehrerer Acryloberflächen: Mehrere Schichten von Hintergrund-Acryl können ablenkende optische Illusionen erzeugen.

Wann sollte Acryl verwendet werden?

Berücksichtigen Sie die folgenden Verwendungsmuster, um zu entscheiden, wie Acryl am besten in Ihre App integriert werden soll.

Kurzlebige Oberflächen

  • Verwenden Sie Hintergrund-Acryl für vorübergehende UI-Elemente.

Für Apps mit Kontextmenüs, Flyouts, nicht modalen Popups oder Fensterausschnitten mit hellem Ausblenden wird empfohlen, Hintergrund-Acryl zu verwenden, insbesondere, wenn diese Oberflächen außerhalb des Rahmens des Haupt-App-Fensters zeichnen. Die Verwendung von Acryl in vorübergehenden Szenarien trägt dazu bei, eine visuelle Beziehung mit dem Inhalt aufrechtzuerhalten, der die vorübergehende Benutzeroberfläche ausgelöst hat.

Der Desktophintergrund, der über ein geöffnetes Kontextmenü mit Hintergrund-Acryl angezeigt wird

Viele XAML-Steuerelemente zeichnen Acryl standardmäßig. MenuFlyout, AutoSuggestBox, ComboBox und ähnliche Steuerelemente mit light-dismiss-Popups verwenden alle Acryl während des Öffnens.

Unterstützen von Ui- und vertikalen Bereichen

  • Verwenden Sie In-App-Acryl für die Unterstützung der Benutzeroberfläche, z. B. auf Oberflächen, die Inhalte beim Scrollen oder Interagieren überlappen können.

Wenn Sie In-App-Acryl auf Navigationsoberflächen verwenden, sollten Sie den Inhalt unter dem Acrylbereich erweitern, um den Fluss in Ihrer App zu verbessern. Wenn Sie NavigationView verwenden, erfolgt dies automatisch. Um einen Streifenbildungseffekt zu vermeiden, versuchen Sie nicht, mehrere Acrylelemente Rand an Rand zu platzieren, da dies zu einem unerwünschten Rand zwischen den beiden weichgezeichneten Oberflächen führen kann. Acryl ist ein Tool, um visuelle Harmonie zu Ihren Designs zu bringen, aber wenn sie falsch verwendet wird, kann dies zu visuellen Rauschen führen.

Für vertikale Bereiche oder Oberflächen, die dabei helfen, Inhalte Ihrer App abzuteilen, empfehlen wir, dass Sie einen nicht transparenten Hintergrund anstelle von Acryl verwenden. Wenn sich Ihre vertikalen Bereiche auf bzw. vor Inhalten öffnen, wie in den Modi Compact oder Minimal von „NavigationView “, sollten Sie In-App-Acryl verwenden, um den Kontext der Seite beizubehalten, wenn der Benutzer diesen Bereich geöffnet hat.

Hinweis

Das Rendern von Acryloberflächen ist GPU-intensiv, wodurch der Energieverbrauch des Geräts erhöht und die Akkulaufzeit verkürzt werden kann. Acryleffekte werden automatisch deaktiviert, wenn ein Gerät in den Stromsparmodus wechselt. Benutzer können Acryleffekte für alle Apps deaktivieren, indem Sie Transparenzeffekte in den Einstellungen > für Personalisierungsfarben > deaktivieren.

Benutzerfreundlichkeit und Anpassungsfähigkeit

Acryl passt seine Darstellung automatisch an eine Vielzahl von Geräten und Kontexten an.

Im Modus mit hohem Kontrast wird Benutzern anstelle von Acryl weiterhin die vertraute Hintergrundfarbe ihrer Wahl angezeigt. Darüber hinaus werden sowohl das Hintergrund- als auch das In-App-Acryl in den folgenden Fällen als Volltonfarben angezeigt:

  • Wenn der Benutzer die Transparenzeffekte in den Einstellungen > für Personalisierungsfarben > deaktiviert.
  • Wenn der Stromsparmodus aktiviert ist.
  • Wenn die App auf Low-End-Hardware ausgeführt wird.

Darüber hinaus werden in den folgenden Fällen nur beim Hintergrund-Acryl Durchsichtigkeit und Textur durch eine Volltonfarbe ersetzt:

  • Wenn ein App-Fenster auf dem Desktop deaktiviert wird.
  • Wenn die App auf Xbox, HoloLens oder im Tablet-Modus ausgeführt wird.

Hinweise zur Lesbarkeit

Es ist wichtig, sicherzustellen, dass jeder Text, den Ihre App benutzern präsentiert, Kontrastverhältnisse erfüllt (siehe Anforderungen für barrierefreien Text). Wir haben die Acrylressourcen so optimiert, dass Text kontrastreiche Verhältnisse über Acryl erfüllt. Es wird nicht empfohlen, akzentfarbenen Text auf Acryloberflächen zu platzieren, da diese Kombinationen wahrscheinlich keine Mindestkontrastverhältnisanforderungen an den Standardmäßigen Schriftgrad von 14px erfüllen. Platzieren Sie möglichst keine Hyperlinks über Acrylelementen. Wenn Sie sich auch für die Anpassung der Acrylfarbfarbe oder der Deckkraftstufe entscheiden, sollten Sie die Auswirkungen auf die Lesbarkeit berücksichtigen.

Anwenden von Acryl in Ihrer App

Wichtig

Wie Sie Hintergrund-Acryl anwenden, unterscheidet sich zwischen WinUI 3 und WinUI 2/UWP.

WinUI 2/UWP: Die AcrylBrush-Klasse verfügt über eine BackgroundSource-Eigenschaft , die angibt, ob Hintergrund- oder In-App-Acryl verwendet werden soll. Sie verwenden einen AcrylBrush, um beide Acryltypen anzuwenden. Spezifische Informationen und Beispiele finden Sie in den AcrylBrush-Klassen: Microsoft.UI.Xaml.Media.AcrylBrush (WinUI 2), Windows.UI.Xaml.Media.AcrylBrush (UWP).

WinUI 3: Die AcrylBrush-Klasse unterstützt nur In-App-Acryl. Sie verwenden die DesktopAcrylicBackdrop-Klasse , um Hintergrund-Acryl anzuwenden.

Hintergrund-Acryl

Um Hintergrund-Acryl in einer WinUI 3-App anzuwenden, legen Sie die Eigenschaft des SystemBackdrop Elements auf eine Instanz von DesktopAcrylicBackdrop fest. Weitere Informationen finden Sie unter Anwenden von Mica- oder Acrylmaterialien in Desktop-Apps für Windows 11.

Diese Elemente weisen eine SystemBackdrop Eigenschaft auf:

In-App-Acryl

Sie können In-App-Acryl auf die Oberflächen Ihrer App mit einem XAML-AcrylBrush oder vordefinierten AcrylicBrush Designressourcen anwenden.

WinUI enthält eine Sammlung von Pinseldesignressourcen, die das Design der App respektieren und bei Bedarf auf Volltonfarben zurückgreifen. Um eine bestimmte Oberfläche zu zeichnen, wenden Sie eine der Designressourcen genauso wie jede andere Pinselressource auf Elementhintergründe an.

<Grid Background="{ThemeResource AcrylicInAppFillColorDefaultBrush}">

Hinweis

Sie können diese Ressourcen in der AcrylBrush-Designressourcendatei im GitHub-Repository "microsoft-ui-xaml" anzeigen.

Bei WinUI 2 stellen Ressourcen, die Hintergrund in ihren Namen enthalten, Hintergrund-Acryl dar, während InApp auf In-App-Acryl verweist.

WinUI 3 enthält die Hintergrundressourcen zur Kompatibilität, verhalten sich jedoch genauso wie InApp-Ressourcen .

Benutzerdefinierter Acrylpinsel

Sie können dem Acryl Ihrer App einen Farbton hinzufügen, um Branding anzuzeigen oder ein visuelles Gleichgewicht mit anderen Elementen auf der Seite zu erzielen. Um Farbe anstelle von Graustufen anzuzeigen, müssen Sie ihre eigenen Acrylpinsel mithilfe der folgenden Eigenschaften definieren.

  • TintColor: die Überlagerungsschicht der Farbe/des Farbtons.
  • TintOpacity: die Deckkraft der Farbtonschicht.
  • TintLuminosityOpacity: steuert die Höhe der Sättigung, die zulässig ist, durch die Acryloberfläche des Hintergrunds.
  • BackgroundSource: (Nur WinUI 2/UWP) das Flag, um anzugeben, ob Hintergrund oder In-App-Acryl verwendet werden soll.
  • FallbackColor: die Volltonfarbe, durch die Acryl im Stromsparmodus ersetzt wird. Bei Hintergrund-Acryl ersetzt die Fallbackfarbe auch Acryl, wenn sich Ihre App nicht im aktiven Desktopfenster befindet.

Acrylmuster für das helle Design

Acrylmuster für das dunkle Design

Leuchtdichte im Vergleich zur Farbtondurchsichtigkeit

Um einen Acrylpinsel hinzuzufügen, definieren Sie die drei Ressourcen für dunkle, helle und designs mit hohem Kontrast. Im hohen Kontrast wird empfohlen, einen SolidColorBrush mit dem x:Key dunklen/hellen AcrylBrush zu verwenden.

Hinweis

Wenn Sie keinen Wert angeben TintLuminosityOpacity , passt das System seinen Wert automatisch basierend auf Der TintColor und TintOpacity an.

<ResourceDictionary.ThemeDictionaries>
    <ResourceDictionary x:Key="Default">
        <AcrylicBrush x:Key="MyAcrylicBrush"
            BackgroundSource="HostBackdrop"
            TintColor="#FFFF0000"
            TintOpacity="0.8"
            TintLuminosityOpacity="0.5"
            FallbackColor="#FF7F0000"/>
    </ResourceDictionary>

    <ResourceDictionary x:Key="HighContrast">
        <SolidColorBrush x:Key="MyAcrylicBrush"
            Color="{ThemeResource SystemColorWindowColor}"/>
    </ResourceDictionary>

    <ResourceDictionary x:Key="Light">
        <AcrylicBrush x:Key="MyAcrylicBrush"
            BackgroundSource="HostBackdrop"
            TintColor="#FFFF0000"
            TintOpacity="0.8"
            TintLuminosityOpacity="0.5"
            FallbackColor="#FFFF7F7F"/>
    </ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>

Im folgenden Beispiel wird gezeigt, wie ein AcrylBrush im Code deklariert wird.

AcrylicBrush myBrush = new AcrylicBrush();
myBrush.TintColor = Color.FromArgb(255, 202, 24, 37);
myBrush.FallbackColor = Color.FromArgb(255, 202, 24, 37);
myBrush.TintOpacity = 0.6;

grid.Fill = myBrush;

Empfohlene und nicht empfohlene Vorgehensweisen

  • Verwenden Sie Acryl auf vorübergehenden Oberflächen.
  • Erweitern Sie Acryl auf mindestens einen Rand Ihrer App, um eine nahtlose Benutzererfahrung zu ermöglichen, indem Sie die Umgebung der App subtil mischen.
  • Platzieren Sie Desktop-Acryl nicht auf großen Hintergrundoberflächen Ihrer App.
  • Platzieren Sie nicht mehrere Acrylbereiche nebeneinander, da dies zu einem unerwünschten sichtbaren Naht führt.
  • Platzieren Sie keinen akzentfarbenen Text über Acryloberflächen.

Unser Ansatz beim Entwurf von Acryl

Wir fein abgestimmten Acryl-Komponenten, um ihre einzigartige Darstellung und Eigenschaften zu erreichen. Wir haben mit Translucency, Weichzeichner und Rauschen begonnen, um den flachen Oberflächen visuelle Tiefe und Dimension hinzuzufügen. Dann haben wir eine Ausschluss-Mischmodus-Ebene hinzugefügt, um den Kontrast und die Lesbarkeit der auf dem Acrylhintergrund platzierten UI sicherzustellen. Zuletzt haben wir Farbtöne hinzugefügt, um Personalisierungen zu ermöglichen. Zusammen ergeben diese Ebenen ein neues, einsatzbereites Material.

Acrylzusammensetzung
Das Acryl setzt sich folgendermaßen zusammen: Hintergrund, Weichzeichnung, Ausschluss-Mischung, Überlagerung der Farbe/des Farbtons, Rauschen

Beispiele

Die WinUI 3-Katalog-App umfasst interaktive Beispiele für die meisten WinUI 3-Steuerelemente, -Features und -Funktionen. Laden Sie die App aus dem Microsoft Store herunter, oder rufen Sie den Quellcode auf GitHub ab

Fluent Design-Übersicht