Avalonia 获取所有 Windows

Eti*_*and 4 .net c# .net-core avaloniaui avalonia

有没有办法获取 Avalonia 中所有窗口的列表?

WPF 中的等价物

Application.Current.Windows
Run Code Online (Sandbox Code Playgroud)

我的要求是根据其 DataContext 激活或关闭某个窗口。

如果我无法访问这样的列表;有没有办法跟踪窗口的创建和销毁以创建内部列表?

kek*_*eks 5

你需要IClassicDesktopStyleApplicationLifetime::Windows财产。终身可从ApplicationApplicationLifetime财产获得。

例如

((IClassicDesktopStyleApplicationLifetime)Application.Current.ApplicationLifetime).Windows
Run Code Online (Sandbox Code Playgroud)

请注意,它不适用于 Mobile、WebAssembly 和 Linux 帧缓冲区平台。