Akryl v aplikaci

Akryl v aplikaci můžete použít na povrchy vaší aplikace pomocí XAML AkrylBrush nebo předdefinovaných AcrylicBrush prostředků motivu.

Poznámka:

Ve WinUI 3 AcrylicBrush poskytuje efekt akrylu pouze v rámci aplikace – aplikuje rozostření a tónování na obsah XAML v rámci okna aplikace, nikoli na plochu ani na obsah za oknem. Vlastnost UPW BackgroundSource (která povolila HostBackdrop režim pro akryl na úrovni okna) není k dispozici ve WinUI 3. Pro akryl na úrovni okna, který zobrazuje plochu přes okno vaší aplikace, nastavte Window.SystemBackdrop na DesktopAcrylicBackdrop. Chcete-li na konkrétní prvek uživatelského rozhraní místo celého okna použít materiál pozadí systému (Mica nebo Acrylic z kompozitoru operačního systému), použijte SystemBackdropElement.

WinUI obsahuje kolekci prostředků pro motivy štětců, které respektují motiv aplikace, a v případě potřeby se vracejí k plným barvám. Pokud chcete natřít konkrétní povrch, aplikujte jeden ze zdrojů motivu na pozadí prvků stejně jako jakýkoli jiný zdroj barvy.

<Grid Background="{ThemeResource AcrylicInAppFillColorDefaultBrush}">

Poznámka:

Tyto prostředky můžete zobrazit v souboru prostředků motivu AcrylicBrush v úložišti microsoft-ui-xaml GitHub.

Vlastní akrylový kartáč

Můžete se rozhodnout, že do akrylu vaší aplikace přidáte barevný nádech, abyste mohli zobrazit branding nebo poskytnout vizuální rovnováhu s dalšími prvky na stránce. Chcete-li zobrazit barvu místo stupně šedé, je nutné definovat vlastní akrylové štětce pomocí následujících vlastností.

  • TintColor: vrstva překrytí barev/odstínů.
  • TintOpacity: neprůhlednost vrstevné barvy.
  • TintLuminosityOpacity: řídí průchod sytostí povolený akrylovým povrchem z pozadí.
  • FallbackColor: jednolitá barva, která nahrazuje akrylový efekt, když se efekt nepodaří zobrazit – například v režimu Úspora baterie, když uživatel v Nastavení Přizpůsobení > Barvy vypne > nebo na slabším hardwaru.

Světlé motivové akrylové vzorníky

Akrylové vzorníky tmavého motivu

Neprůhlednost světelnosti ve srovnání s neprůhledností odstínu

Chcete-li přidat akrylový štětec, definujte tři zdroje pro tmavé, světlé a vysoce kontrastní motivy. Ve vysokém kontrastu doporučujeme použít SolidColorBrush stejně jako x:Key tmavý/světlý AcrylicBrush.

Poznámka:

Pokud nezadáte hodnotu TintLuminosityOpacity, systém automaticky upraví její hodnotu na základě TintColor a TintOpacity.

<ResourceDictionary.ThemeDictionaries>
    <ResourceDictionary x:Key="Default">
        <AcrylicBrush x:Key="MyAcrylicBrush"
            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"
            TintColor="#FFFF0000"
            TintOpacity="0.8"
            TintLuminosityOpacity="0.5"
            FallbackColor="#FFFF7F7F"/>
    </ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>

Následující ukázka ukazuje, jak deklarovat AkrylBrush v kódu.

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.Background = myBrush;