Materiály v aplikacích pro Windows

Materiály jsou vizuální efekty použité na povrchy uživatelského rozhraní k vytvoření hloubky, hierarchie a vizuálního zájmu. WinUI 3 poskytuje čtyři mechanismy pro použití materiálů, které jsou vhodné pro jiný scénář.

Důležité

AcrylicBrush je akryl pouze v rámci aplikace — rozostřuje obsah XAML v okně aplikace. Nezobrazuje plochu ani jiná okna za oknem aplikace. Pro efekty průhlednosti plochy použijte Window.SystemBackdrop nebo SystemBackdropElement.

Který materiál mám použít?

Scenario Materiál API
Okno aplikace s pozadím Mica (tapeta s barevným nádechem) Mica Window.SystemBackdrop = new MicaBackdrop()
Okno aplikace s průsvitným pozadím z matného skla Desktopový akryl Window.SystemBackdrop = new DesktopAcrylicBackdrop()
Výsuvná nabídka, automaticky otevírané okno nebo kontextová nabídka s akrylovým pozadím Pozadí systému na povrchu Nastavte SystemBackdrop na FlyoutBase, Popup atd.
Boční panel, panel nebo prvek s Micou nebo Akrylem (ne s celým oknem) SystemBackdropElement ovládací prvek <SystemBackdropElement>
Navigační podokno nebo panel obsahu s efektem rozostření v aplikaci Akryl v aplikaci {ThemeResource AcrylicInAppFillColorDefaultBrush}

Žádný materiál (výchozí)

Pokud není použit žádný materiál, pozadí okna je plná barva nakreslená z aktivního světla nebo tmavého motivu – bez rozostření nebo průsvitnosti.

Snímek obrazovky s oknem aplikace WinUI 3 bez použitého materiálu zobrazující ploché bílé pozadí

Materiály spoléhají na kompozitorové efekty, které vyžadují podporu hardwaru a uživatelské předvolby. WinUI 3 se elegantně vrátí k plné barvě, pokud materiál nelze vykreslit:

  • Vzdálená plocha nebo virtuální počítače – kompozitor nemůže prolínat s obsahem plochy přes protokol RDP, takže se SystemBackdrop materiály automaticky přepnou na záložní variantu.
  • Nedostatek grafického hardwaru – Mica a Desktop Akryl vyžadují DirectX 11 a odpovídající paměť GPU. Zařízení, která nedosahují prahové hodnoty, použijí jednolitou barvu motivu.
  • Efekty průhlednosti jsou zakázané – pokud uživatel vypne efekty průhlednosti v nastavení > Přizpůsobení > barev, všechny SystemBackdrop materiály a AcrylicBrush přejdou zpět na jejich pevné barvy alternativy.
  • Úsporný režim baterie je aktivní — Windows vypne Acrylic (DesktopAcrylicBackdrop a AcrylicBrush), když je zapnutý úsporný režim baterie. Mica není ovlivněna.
  • Režim vysokého kontrastu — všechny materiály jsou potlačeny; systém místo toho použije barvy motivu s vysokým kontrastem.

Vaše aplikace nemusí tyto podmínky detekovat – rozhraní API automaticky zajistí náhradní řešení. Ujistěte se, že jakékoli FallbackColor nebo pozadí motivu, které nakonfigurujete, vypadá dobře i jako jednolitá plná barva.

Mica

Mica začleňuje barvu tapety plochy uživatele do tlumeného, přizpůsobeného pozadí. Je určená pro pozadí hlavního okna aplikace, zejména v záhlaví a oblastech navigačního podokna.

  • Rozhraní API: Window.SystemBackdrop = new MicaBackdrop()
  • Varianty: MicaKind.Base (výchozí) nebo MicaKind.BaseAlt (světlejší, pro sekundární povrchy)
  • Windows verze: pouze Windows 11. Vrátí se na plnou barvu motivu na Windows 10.

Snímek obrazovky aplikace WinUI 3 s použitým efektem MicaBackdrop, zobrazující jemné modrošedé pozadí zabarvené tapetou plochy uživatele.

Desktopový akryl

Desktop Akryl zobrazuje živé, rozmazané zobrazení plochy a obsahu za oknem aplikace, což vytváří zamrzlý vzhled skla.

  • Rozhraní API: Window.SystemBackdrop = new DesktopAcrylicBackdrop()
  • Varianty: DesktopAcrylicKind.Base (více neprůhledné) nebo DesktopAcrylicKind.Thin (transparentnější)
  • Windows verze: Windows 10 (build 17763) a novější.

Snímek obrazovky aplikace WinUI 3 s použitím DesktopAcrylicBackdrop, zobrazující efekt matného skla s rozmazaným obsahem plochy za oknem.

Akryl lze použít také na přechodné povrchy — nastaveno SystemBackdrop na FlyoutBase, Popup, MenuFlyoutPresenter, nebo CommandBarFlyoutCommandBar. Úplný seznam najdete v článku Systémová pozadí.

SystemBackdropElement

SystemBackdropElement aplikuje materiál Mica nebo Desktop Acrylic z kompozitoru operačního systému na konkrétní prvek XAML — nikoli na celé okno. Použijte ho, když boční panel, panel nebo karta potřebují vlastní pozadí Mica nebo Acrylic nezávisle na zbytku okna.

Acrylic v aplikaci (AcrylicBrush)

AcrylicBrush rozostří obsah XAML v okně aplikace. Nezobrazuje plochu ani jiná okna přes povrch. Můžete ho použít pro navigační podokna, boční panely nebo panely obsahu, kde chcete průsvitný efekt v aplikaci.

  • Rozhraní API: Použití {ThemeResource AcrylicInAppFillColorDefaultBrush} u elementu Backgroundnebo definování vlastního AcrylicBrush prvku pomocí TintColor, TintOpacitya TintLuminosityOpacity.
  • Vlastnost UPW BackgroundSource = HostBackdrop není k dispozici ve WinUI 3.
  • Podrobnosti a ukázky kódu najdete v tématu Akryl v aplikaci.

Snímek obrazovky aplikace WinUI 3 s použitým AcrylicBrush, zobrazující průsvitný panel, který v rámci okna aplikace rozostřuje obsah XAML.