xmlns:svg="using:Uno.Svg.Skia"
The Uno Svg control keeps the control-facing API close to the Avalonia Skia package:
SvgSourcePathSourceStretchStretchDirectionEnableCacheWireframeDisableFiltersZoomPanXPanYCssCurrentCssAnimationBackendAnimationFrameIntervalAnimationPlaybackRate<Page.Resources>
<svg:SvgSource x:Key="LogoSource" Path="/Assets/logo.svg" />
</Page.Resources>
<svg:Svg SvgSource="{StaticResource LogoSource}"
Height="160"
Stretch="Uniform" />
<svg:Svg Source="{x:Bind InlineSvg}"
CurrentCss=".accent { fill: #2563eb; }" />
var point = e.GetCurrentPoint(MySvg).Position;
var hits = MySvg.HitTestElements(point);
HitTestElements(...) accepts Uno control coordinates and maps them back into picture coordinates using the current stretch, zoom, and pan state.
The Uno Svg control uses the shared SKSvg animation runtime and exposes the same resolved-backend diagnostics as the Avalonia Skia package:
ActualAnimationBackendAnimationBackendFallbackReasonAnimationBackendResolutionAnimationBackendCapabilitiesUno currently falls back away from NativeComposition, so the practical playback backends are DispatcherTimer, RenderLoop, or Manual.
SvgImageFor those scenarios in Uno, keep the SVG in a reusable SvgSource and render it through one or more Svg controls.