Primary WinUI APIs:
Primary Avalonia APIs:
| WinUI idiom | Avalonia idiom |
|---|---|
| WinUI control and state pipeline | Avalonia control themes, selectors, and transitions |
| WinUI command/input surfaces | Avalonia commands + KeyBinding/routed input |
| WinUI resource/theme flow | Avalonia resource dictionaries + ThemeVariant |
WinUI XAML:
<VisualStateManager.VisualStateGroups><VisualStateGroup><VisualState x:Name="Narrow" /><VisualState x:Name="Wide" /></VisualStateGroup></VisualStateManager.VisualStateGroups>
WinUI C#:
VisualStateManager.GoToState(this, "Wide", true);
Avalonia XAML:
<Style Selector="Grid.narrow"><Setter Property="ColumnDefinitions" Value="*" /></Style><Style Selector="Grid.wide"><Setter Property="ColumnDefinitions" Value="240,*" /></Style>
Avalonia C#:
root.Classes.Set("wide", viewModel.IsWide);