在我的应用程序中,我需要获取所有窗口的列表。
var windows = Application.Current.Windows;如果我在调试模式下运行应用程序,则在列表中不仅可以看到我的窗体,还可以看到由Visual Studio debug tool for XAML创建的Microsoft.XamlDiagnostics.WpfTap.WpfVisualTreeService.Adorners.AdornerLayerWindow实例。
过滤窗口列表以忽略调试工具创建的窗口的正确方法是什么?我不想引用额外的程序集并检查
window is AdornerLayerWindow我不想像这样过滤
window.GetType().Name != "AdornerLayerWindow"还有其他想法吗?
发布于 2021-09-29 05:38:08
我只是在做window.ActualWidth != 0的小把戏。这对我来说很好。
Application.Current.Windows
.Cast<Window>()
.Where(w => w.ActualWidth != 0)
.ToList()
.ForEach(w => w.Close());https://stackoverflow.com/questions/46416123
复制相似问题