development-plugin-for-avalonia

Fluent Shells, Dialogs, Window Chrome, and Transient Surfaces

Scope and Primary APIs

Use this reference to shape Fluent shell behavior and transient surfaces.

Primary APIs:

Shell Guidance

Overlay Surface Example

<ControlTheme xmlns="https://github.com/avaloniaui"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              x:Key="FluentFlyoutPresenterTheme"
              TargetType="FlyoutPresenter"
              BasedOn="{StaticResource {x:Type FlyoutPresenter}}">
  <Setter Property="Background" Value="{DynamicResource Brush.Surface.Card}" />
  <Setter Property="BorderBrush" Value="{DynamicResource Brush.Border.Subtle}" />
  <Setter Property="BorderThickness" Value="1" />
  <Setter Property="CornerRadius" Value="12" />
  <Setter Property="Padding" Value="6" />
</ControlTheme>

Window Chrome Guidance

AOT and Runtime Notes

Do and Don’t Guidance

Do:

Do not:

Troubleshooting

  1. Overlays feel disconnected from the shell.
    • Align radius, surface, border, and shadow rules across all transient surfaces.
  2. Custom title area feels fragile.
    • Re-check drag regions, focus states, and text contrast under both variants.
  3. In-app notifications look bolted on.
    • Theme notification surfaces with the same shell tokens and spacing rules.

Official Resources