diff --git a/source/SkiaSharp.Views/SkiaSharp.Views.WinUI/SKXamlCanvas.cs b/source/SkiaSharp.Views/SkiaSharp.Views.WinUI/SKXamlCanvas.cs index e6e4330aa1..e11e71577a 100644 --- a/source/SkiaSharp.Views/SkiaSharp.Views.WinUI/SKXamlCanvas.cs +++ b/source/SkiaSharp.Views/SkiaSharp.Views.WinUI/SKXamlCanvas.cs @@ -101,7 +101,7 @@ private static void OnVisibilityChanged(DependencyObject d, DependencyPropertyCh private void OnXamlRootChanged(XamlRoot xamlRoot = null, XamlRootChangedEventArgs e = null) { var root = xamlRoot ?? XamlRoot; - Dpi = root.RasterizationScale; + Dpi = root?.RasterizationScale ?? 1.0; Invalidate(); } #else @@ -141,7 +141,10 @@ private void OnUnloaded(object sender, RoutedEventArgs e) return; #if WINDOWS - XamlRoot.Changed -= OnXamlRootChanged; + if(XamlRoot != null) + { + XamlRoot.Changed -= OnXamlRootChanged; + } #else var display = DisplayInformation.GetForCurrentView(); display.DpiChanged -= OnDpiChanged;