diff --git a/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml.cs index 341b5a7..18d5ab2 100644 --- a/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml.cs +++ b/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml.cs @@ -52,16 +52,10 @@ public partial class ManagedFileChooserDemo : UserControl private IStorageProvider? GetStorageProvider() { - if (this.VisualRoot is Window w) - { - return w.StorageProvider; - } - return null; + var topLevel = TopLevel.GetTopLevel(this); + return topLevel?.StorageProvider; } - Window GetWindow() => this.VisualRoot as Window ?? throw new NullReferenceException("Invalid Owner"); - TopLevel GetTopLevel() => this.VisualRoot as TopLevel ?? throw new NullReferenceException("Invalid Owner"); - List? GetFileTypes() { return new List