您可以使用 XAML AcrylicBrush 或預先定義的 AcrylicBrush 主題資源,將應用程式內壓克力套用至應用程式的介面。
WinUI 包含一組筆刷主題資源,可尊重應用程式的主題,並視需要回復為純色。 要繪製特定的表面,請像套用其他畫筆資源一樣,將主題資源之一套用到元素背景上。
<Grid Background="{ThemeResource AcrylicInAppFillColorDefaultBrush}">
備註
你可以在 microsoft-ui-xaml GitHub repo
自訂壓克力筆刷
您可以選擇將色彩色調新增至應用程式的壓克力,以顯示品牌,或提供與頁面上其他元素的視覺平衡。 要顯示顏色而非灰階,你需要用以下特性定義自己的壓克力畫筆。
- 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;