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:
<NavigationView PaneDisplayMode="LeftCompact"><NavigationView.MenuItems><NavigationViewItem Content="Home" Tag="home" /></NavigationView.MenuItems><Frame x:Name="RootFrame" /></NavigationView>
WinUI C#:
var nav = new NavigationView(); nav.SelectionChanged += OnSelectionChanged;
Avalonia XAML:
<SplitView DisplayMode="CompactInline" IsPaneOpen="{Binding IsPaneOpen}"><SplitView.Pane><ListBox ItemsSource="{Binding NavItems}" SelectedItem="{Binding SelectedNavItem, Mode=TwoWay}" /></SplitView.Pane><ContentControl Content="{Binding CurrentView}" /></SplitView>
Avalonia C#:
var shell = new SplitView { IsPaneOpen = viewModel.IsPaneOpen };