Uygulama içi akrilik

XAML Akrilik Fırça veya önceden tanımlanmış AcrylicBrush tema kaynaklarını kullanarak uygulamanızın yüzeylerine uygulama içi akrilik uygulayabilirsiniz.

Uyarı

WinUI 3'te yalnızca AcrylicBrushuygulama içi akrilik sağlar; masaüstüne veya pencerenin arkasındaki içeriğe değil, uygulama penceresindeki XAML içeriğine bulanıklık ve renk tonu uygular. UWP BackgroundSource özelliği (pencere düzeyinde akrilik için bir HostBackdrop modu etkinleştiren) WinUI 3'te kullanılamaz. Uygulamanızın penceresi üzerinden masaüstünü gösteren pencere düzeyindeki akrilik için Window.SystemBackdrop öğesini DesktopAcrylicBackdrop olarak ayarlayın. Bir sistem arka planı malzemesini (işletim sistemi bileşiminden Mica veya Akrilik) tüm pencere yerine belirli bir kullanıcı arabirimi öğesine uygulamak için SystemBackdropElement kullanın.

WinUI, uygulamanın temasına saygı gösteren ve gerektiğinde düz renklere geri dönen bir fırça teması kaynakları koleksiyonu içerir. Belirli bir yüzeyi boyamak için, tema kaynaklarından birini diğer fırça kaynakları gibi öğelerin arka planlarına uygulayın.

<Grid Background="{ThemeResource AcrylicInAppFillColorDefaultBrush}">

Özel akrilik fırça

Markayı göstermek veya sayfadaki diğer öğelerle görsel denge sağlamak için uygulamanızın akrilikine renk tonu eklemeyi seçebilirsiniz. Gri tonlama yerine renk göstermek için aşağıdaki özellikleri kullanarak kendi akrilik fırçalarınızı tanımlamanız gerekir.

  • TintColor: renk/renk tonu katmanı.
  • TintOpacity: ton katmanının opaklığı.
  • TintLuminosityOpacity: arka plandan akrilik yüzey aracılığıyla geçen doygunluk miktarını kontrol eder.
  • FallbackColor: Efekt işlenemediğinde akrilikin yerini alan düz renk; örneğin, Pil Tasarrufu modunda, kullanıcı Ayarlar Kişiselleştirme > Renkleri'nde veya alt uç donanımda > kapattığında.

Açık tema akrilik renk örnekleri

Koyu tema akrilik renk örnekleri

Renk tonu opaklığına kıyasla parlaklık opaklığı

Akrilik fırça eklemek için koyu, açık ve yüksek karşıtlık temaları için üç kaynağı tanımlayın. Yüksek karşıtlıkta koyu/açık Akrilik Fırça ile aynı sahip x:Key kullanmanızı öneririz.

Uyarı

TintLuminosityOpacity değeri belirtmezseniz sistem, TintColor ve TintOpacity değerlerinize göre değerini otomatik olarak ayarlar.

<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>

Aşağıdaki örnek, kodda bir AcrylicBrush'in nasıl bildirileceğini gösterir.

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;