Dela via


Akryl i appen

Du kan använda akryl i appen på appens ytor med hjälp av en XAML-AcrylicBrush- eller fördefinierade AcrylicBrush temaresurser.

WinUI innehåller en samling penseltemaresurser som respekterar appens tema och återgår till solida färger efter behov. Om du vill måla en specifik surface använder du en av temaresurserna på elementbakgrunder på samma sätt som du använder andra penselresurser.

<Grid Background="{ThemeResource AcrylicInAppFillColorDefaultBrush}">

Anmärkning

Du kan visa dessa resurser i resursfilen AcrylicBrush-temaresurser i microsoft-ui-xaml-GitHub-lagringsplatsen.

Anpassad akrylborste

Du kan välja att lägga till en färgton i appens akryl för att visa varumärkesanpassning eller ge visuell balans med andra element på sidan. Om du vill visa färg i stället för gråskala måste du definiera dina egna akrylborstar med hjälp av följande egenskaper.

  • TintColor: färg-/tonöverdragsskiktet.
  • TintOpacity: färgtonlagrets opacitet.
  • TintLuminosityOpacity: styr mängden mättnad som tillåts genom akrylytan från bakgrundens sida.
  • FallbackColor: den solida färg som ersätter akryl i Batterisparläge. För bakgrundsakryl ersätter reservfärgen även akryl när appen inte finns i det aktiva skrivbordsfönstret.

Ljust tema akryl färgrutor

Mörk tema akryl färgswatch

Luminositetsopacitet jämfört med tonad opacitet

Om du vill lägga till en akrylborste definierar du de tre resurserna för mörka, ljusa och högkontrasttteman. I hög kontrast rekommenderar vi att du använder en SolidColorBrush med samma x:Key som den mörka/ljusa AcrylicBrush.

Anmärkning

Om du inte anger ett TintLuminosityOpacity värde justerar systemet automatiskt sitt värde baserat på din TintColor och 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>

Följande exempel visar hur du deklarerar en AcrylicBrush i kod.

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;