共用方式為


應用程式內壓克力

您可以使用 XAML AcrylicBrush 或預先定義的 AcrylicBrush 主題資源,將應用程式內壓克力套用至應用程式的介面。

WinUI 包含一組筆刷主題資源,可尊重應用程式的主題,並視需要回復為純色。 要繪製特定的表面,請像套用其他畫筆資源一樣,將主題資源之一套用到元素背景上。

<Grid Background="{ThemeResource AcrylicInAppFillColorDefaultBrush}">

備註

你可以在 microsoft-ui-xaml GitHub repoAcrylicBrush 主題資源檔中查看這些資源。

自訂壓克力筆刷

您可以選擇將色彩色調新增至應用程式的壓克力,以顯示品牌,或提供與頁面上其他元素的視覺平衡。 要顯示顏色而非灰階,你需要用以下特性定義自己的壓克力畫筆。

  • TintColor︰色彩/色調重疊層。
  • TintOpacity︰色調層的不透明度。
  • TintLuminosityOpacity:控制從背景穿透壓克力表面的飽和度量。
  • FallbackColor︰在省電模式中取代壓克力效果的純色。 針對背景壓克力,當您的應用程式不在作用中的桌面視窗中時,後備顏色也會取代壓克力。

淺色佈景壓克力色板

深色佈景主題壓克力樣本

亮度不透明度與色調不透明度的比較

若要新增壓克力筆刷,請定義深色、淺色和高對比度主題的三個資源。 在高對比度中,我們建議您使用 SolidColorBrush ,其顏色與深色/淺色AcrylicBrush x:Key 相同。

備註

如果您未指定 TintLuminosityOpacity 值,系統會根據 TintColor 和 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>

下列範例示範如何在程序代碼中宣告 AcrylicBrush。

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;