Last Updated 11 April 2022 | License CC BY-SA 4.0
This document lists supported controls for each XAML framework excluding some primitives and shapes (Ellipse, Rect, etc.). It also describes some of the differences in implemenation or usage where appropriate.
The following frameworks are included so far:
- Avalonia
- UWP (with the WinUI 2.x library), also implicitly includes the Uno Platform
- WPF
As WPF is the first XAML framework, it occurs first and all others are listed alphabetically in their own column. The Uno Platform generally supports all controls in UWP/WinUI3 and therefore does not need its own column.
The initial list of supported Avalonia controls was taken from Comparison of Avalonia with WPF and UWP also Licensed CC BY-SA 4.0 (itself originally based on UWPvsWPF.md).
Note that (WCT Version) indicates a version of the control exists for UWP in the Windows Community Toolkit.
WPF | Avalonia | UWP / Uno Platform |
---|---|---|
🔲 | 🔲 | ✅ AppBarButton |
🔲 | 🔲 | ✅ AppBarSeparator |
🔲 | 🔲 | ✅ AppBarToggleButton |
🔲 | 🔲 | ✅ AnimatedVisualPlayer (WinUI 2.1) |
🔲 | ✅ AutoCompleteBox | ✅ AutoSuggestBox |
✅ Border | ✅ Border | ✅ Border |
🔲 | 🔲 | ✅ BreadcrumbBar (WinUI 2.6) |
✅ BulletDecorator | ✅ BulletDecorator | 🔲 |
✅ Button | ✅ Button | ✅ Button |
✅ DatePicker | ✅ CalendarDatePicker | ✅ CalendarDatePicker |
✅ Calendar | ✅ Calendar | ✅ CalendarView |
✅ Canvas | ✅ Canvas | ✅ Canvas |
🔲 | 🔲 | ✅ CaptureElement |
✅ CheckBox | ✅ CheckBox | ✅ CheckBox |
🔲 | 🔲 | ✅ ColorPicker |
✅ ComboBox | ✅ ComboBox | ✅ ComboBox |
✅ ToolBar | 🔲 | ✅ CommandBar |
🔲 | 🔲 | ✅ CommandBarFlyout (WinUI 2.0) |
✅ ContentControl | ✅ ContentControl | ✅ ContentControl |
✅ ContentPresenter | ✅ ContentPresenter | ✅ ContentPresenter |
✅ DataGrid | ✅ DataGrid | 🔲 (WCT Version) |
🔲 | ✅ DatePicker | ✅ DatePicker |
🔲 | ✅ DatePickerFlyout | ✅ DatePickerFlyout |
✅ DockPanel | ✅ DockPanel | 🔲 WCT Version |
✅ DocumentViewer | 🔲 | 🔲 |
🔲 | ✅ DropDownButton | ✅ DropDownButton (WinUI 2.0) |
✅ Expander | ✅ Expander | ✅ Expander (WinUI 2.6) |
🔲 | ✅ Carousel | ✅ FlipView |
✅ FlowDocumentPageViewer | 🔲 | 🔲 |
✅ FlowDocumentReader | 🔲 | 🔲 |
✅ FlowDocumentScrollViewer | 🔲 | 🔲 |
🔲 | ✅ Flyout | ✅ Flyout |
✅ Frame | 🔲 | ✅ Frame |
✅ Grid | ✅ Grid | ✅ Grid |
✅ GridSplitter | ✅ GridSplitter | 🔲 (WCT Version) |
🔲 | 🔲 | ✅ GridView |
✅ GroupBox | 🔲 | 🔲 |
🔲 | 🔲 | ✅ Hub |
🔲 | 🔲 | ✅ HubSection |
🔲 | 🔲 | ✅ HyperlinkButton |
✅ Image | ✅ Image | ✅ Image |
🔲 | 🔲 | ✅ InfoBar (WinUI 2.5) |
🔲 | 🔲 | ✅ InkCanvas (N/A in Uno) |
🔲 | 🔲 | ✅ InkToolbar (N/A in Uno) |
✅ ItemsControl | ✅ ItemsControl | ✅ ItemsControl |
🔲 | ✅ ItemsPresenter | ✅ ItemsPresenter |
🔲 | ✅ ItemsRepeater | ✅ ItemsRepeater (WinUI 2.1) |
✅ Label | ✅ Label | 🔲 |
✅ ListBox | ✅ ListBox | ✅ ListBox |
✅ ListView | 🔲 | ✅ ListView (N/A in Uno) |
🔲 | 🔲 | ✅ MapControl |
🔲 | 🔲 | ✅ MediaElement |
🔲 | 🔲 | ✅ MediaTransportControls |
✅ Menu | ✅ Menu | ✅ MenuBar (WinUI 2.0) |
✅ MenuItem | ✅ MenuItem | ✅ MenuBarItem (WinUI 2.0) |
🔲 | ✅ MenuFlyout | ✅ MenuFlyout |
✅ ContextMenu | ✅ ContextMenu | 🔲 |
🔲 | 🔲 | ✅ NavigationView |
🔲 | ✅ NumericUpDown | ✅ NumberBox (WinUI 2.3) |
✅ Panel | ✅ Panel | 🔲 |
🔲 | 🔲 | ✅ ParallaxView |
✅ PasswordBox | ✅ TextBox (PasswordChar) | ✅ PasswordBox |
🔲 | 🔲 | ✅ PersonPicture |
🔲 | 🔲 | ✅ PipsPager (WinUI 2.6) |
🔲 | 🔲 | ✅ Pivot |
🔲 | 🔲 | ✅ PivotItem |
✅ Popup | ✅ Popup | ✅ Popup |
✅ PrintDialog | 🔲 | 🔲 |
✅ ProgressBar | ✅ ProgressBar | ✅ ProgressBar |
🔲 | 🔲 | ✅ ProgressRing |
🔲 | 🔲 | ✅ PullToRefresh |
✅ RadioButton | ✅ RadioButton | ✅ RadioButton |
🔲 | 🔲 | ✅ RadioButtons (WinUI 2.3) |
🔲 | 🔲 | ✅ RatingControl |
✅ Rectangle | ✅ Rectangle | ✅ Rectangle |
🔲 | 🔲 | ✅ RefreshContainer (WinUI 2.0) |
🔲 | ✅ RelativePanel | ✅ RelativePanel |
✅ RepeatButton | ✅ RepeatButton | ✅ RepeatButton |
✅ RichTextBox | 🔲 | ✅ RichEditBox |
🔲 | 🔲 | ✅ RichTextBlock |
🔲 | 🔲 | ✅ RichTextBlockOverflow |
✅ ScrollBar | ✅ ScrollBar | ✅ ScrollBar |
✅ ScrollContentPresenter | ✅ ScrollContentPresenter | ✅ ScrollContentPresenter |
✅ ScrollViewer | ✅ ScrollViewer | ✅ ScrollViewer |
🔲 | 🔲 | ✅ SearchBox |
🔲 | 🔲 | ✅ SemanticZoom |
✅ Separator | ✅ Separator | 🔲 |
✅ Slider | ✅ Slider | ✅ Slider |
🔲 | ✅ SplitButton | ✅ SplitButton (WinUI 2.0) |
🔲 | ✅ SplitView | ✅ SplitView |
✅ StackPanel | ✅ StackPanel | ✅ StackPanel |
✅ StatusBar | 🔲 | 🔲 |
🔲 | 🔲 | ✅ SwipeControl (WinUI 2.0) |
✅ TabControl | ✅ TabControl | ✅ TabView (WinUI 2.2) |
✅ TabItem | ✅ TabItem | ✅ TabViewItem (WinUI 2.2) |
🔲 | 🔲 | ✅ TeachingTip (WinUI 2.1) |
✅ TextBlock | ✅ TextBlock | ✅ TextBlock |
✅ TextBox | ✅ TextBox | ✅ TextBox |
🔲 | ✅ TimePicker | ✅ TimePicker |
🔲 | ✅ TimePickerFlyout | ✅ TimePickerFlyout |
✅ ToggleButton | ✅ ToggleButton | ✅ ToggleButton |
🔲 | ✅ ToggleSplitButton | ✅ ToggleSplitButton (WinUI 2.0) |
🔲 | ✅ ToggleSwitch | ✅ ToggleSwitch |
✅ ToolTip | ✅ ToolTip | ✅ ToolTip |
✅ TreeView | ✅ TreeView | ✅ TreeView |
🔲 | 🔲 | ✅ TwoPaneView |
🔲 | 🔲 | ✅ VariableSizedWrapGrid |
✅ Viewbox | ✅ Viewbox | ✅ Viewbox |
🔲 | 🔲 | ✅ WebView |
✅ WrapPanel | ✅ WrapPanel | 🔲 (WCT Version) |
✅ Window | ✅ Window | 🔲 |
Icons | ||
🔲 | 🔲 | ✅ AnimatedIcon (WinUI 2.6) |
🔲 | 🔲 | ✅ BitmapIcon |
🔲 | 🔲 | ✅ FontIcon |
🔲 | 🔲 | ✅ ImageIcon (WinUI 2.6) |
🔲 | ✅ PathIcon | ✅ PathIcon |
- The UWP
DatePicker
is different from WPF'sDatePicker
. The WPFDatePicker
is closer to the UWPCalendarDatePicker
in functionality as they both have a drop-down calendar. A picker to select a date without a calendar view does not exist in WPF. - The
DataGrid
in both Avalonia and UWP's Windows Community Toolkit is based on the Silverlight version of the control -- not the full-featured WPF version. As such, WPF'sDataGrid
is more powerful in certain areas. In addition, the Windows Community Toolkit version of the control has many bugs that Microsoft announced they will not fix. Avalonia, however, makes an attempt to fix these issues. - UWP's
TabView
is designed for top-level document navigation only. It is not always a good replacement forTabControl
in WPF. Instead, UWP'sPivot
control is sometimes used for tab functionality. RadioButtons
is a container to easily create groups of individualRadioButton
controls (with accessiblity improvements, etc.)ProgressRing
was updated to use Lottie animations in WinUI Library v2.5-v2.6- WPF's
ContextMenu
was generalized and replaced byMenuFlyout
in UWP. Avalonia; however, still supports both.
This document is licensed CC BY-SA 4.0. For full text see: https://creativecommons.org/licenses/by-sa/4.0/legalcode