overview
Z-depth is the distance between two surfaces on the z-axis. It illustrates how close an object is to the viewer.
Shadows also express depth and visual hierarchy.
shadow apis
ThemeShadow
- Can be applied to any XAML element.
- Applies shadows to elements based on a z-depth value.
- Built in to common controls at 32px depth.
ThemeShadow in Popups
To apply to an element in a Popup, apply a ThemeShadow to the element’s Shadow property then elevate the element from others behind it by using the Z component of the Translation property:
<Popup>
<Rectangle x:Name="PopupRectangle" Fill="Lavender" Height="48" Width="96">
<Rectangle.Shadow>
<ThemeShadow />
</Rectangle.Shadow>
</Rectangle>
</Popup>
// Elevate the rectangle by 32px
PopupRectangle.Translation += new Vector3(0, 0, 32);

Automatic ThemeShadow on Flyout Controls
Controls based on Flyout, DatePickerFlyout, MenuFlyout, or TimePickerFlyout automatically use ThemeShadow to caste a shadow.
This can be disabled:
<Flyout>
<Flyout.FlyoutPresenterStyle>
<Style TargetType="FlyoutPresenter">
<Setter Property="IsDefaultShadowEnabled" Value="False" />
</Style>
</Flyout.FlyoutPresenterStyle>
</Flyout>