Jak využít vlastnost BackgroundSizing v UWP

Windows 10 17763 SDK přidalo zajímavou vlastnost BackgroundSizing pro všechny ovladací prvky s pozadím (Background). Podívejme se co tato vlastnost umí.

BackgroundSizing je užitečná pro ovladací prvky s průhledným nebo poloprůhledným ohraničením (Border), protože určuje, zda pozadí prvku přesahuje až pod ohraničení, či ne. Ukážeme si to na jednoduchém příkladu:


<Border BorderThickness="40" CornerRadius="4" BorderBrush="#66000000">
<Border.Background>
<ImageBrush ImageSource="/Assets/sample.jpg" Stretch="UniformToFill" />
</Border.Background>
</Border>

Pokud explicitně nepřidáme atribut BackgroundSizing, je použita výchozí hodnota – InnerBorderEdge. To znamená, že pozadí prvku končí na začátku ohraničení a nepokračuje pod ním:

InnerBorderEdge BackgroundSizing example - background does not extend under the border
InnerBorderEdge BackgroundSizing

Nyní změňme hodnotu BackgroundSizing na OuterBorderEdge:


<Border BackgroundSizing="OuterBorderEdge" BorderThickness="40" CornerRadius="4" BorderBrush="#66000000">
<Border.Background>
<ImageBrush ImageSource="/Assets/sample.jpg" Stretch="UniformToFill" />
</Border.Background>
</Border>

V tomto případě obrázkové pozadí (ImageBrush) až pod ohraničení prvku a díky tomu, že je BorderBrush poloprůhledný, vznikne vytvoří dohromady pěkný efekt rámečku:

OuterBorderBrush BackgroundSizing - background extends below the border
OuterBorderBrush BackgroundSizing

Vlasntost BackgroundSizing je k dispozici ve Windows 10 build 17763 a novějších, ale jakmile vyjde WinUI 3.0, bude dostupná ve všech podporovaných verzích Windows 10!

Zdrojový kód

Ukázkový zdrojový kód k tomuto článku je k dispozici na mém GitHubu.

Buy me a coffeeBuy me a coffee

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.