Missing features
Overview
XPF makes a best effort to implement all WPF APIs, but some features are difficult or impossible to support due to cross-platform constraints or underlying architectural differences. This page lists the features that are currently missing, partially implemented, or unlikely to be added so you can plan your migration accordingly.
Features with limitations
The following features are available but have known restrictions:
WebBrowser: XPF provides web content embedding through a different mechanism. See the WebView docs for details.FlowDocument: Basic flow document rendering is supported, but with the following limitations:- Paginated documents are not supported.
PageHeaderandPageFooterare not supported.Floateris not supported.- Some table features, such as row and column spans, are not supported.
Features planned for future releases
The following features require significant engineering effort and will be available in a later release:
Viewport3Dand related 3D APIsMediaElementandMediaPlayerInkCanvas
If your application depends on any of these features, check the release notes regularly for updates on their progress.
Features unlikely to be supported
The following features are unlikely to be supported due to platform restrictions:
- Multiple UI threads (multiple
Dispatcherinstances): macOS allows only one UI thread, and Windows and Linux have limited support. See Known differences from WPF for more detail. HwndHost/HwndSource: These types are tightly coupled to Win32 window handles and have no cross-platform equivalent.XPS: XPS document support relies on a Windows operating system component that is not available on other platforms.
Workarounds
If your application relies on a missing or limited feature, consider these strategies:
- Conditional compilation: Use
#ifdirectives to provide alternative implementations for XPF builds versus WPF builds. - Feature detection at runtime: Check whether a feature is available before using it and provide a graceful fallback.
- Contact the XPF team: If a missing feature is critical to your application, reach out to the Avalonia team. Feature priority is often influenced by customer demand.