Sdílet prostřednictvím


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.

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: plná barva, která nahrazuje akryl v Battery Saver. U pozadí z akrylu náhradní barva nahrazuje akryl také, pokud vaše aplikace není v aktivním okně na ploše.

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