在XAML中查找打开的窗口

问题描述:

我需要一个功能来获取某些conrete WPF窗口的所有现有(打开)实例。我在代码中的几个地方以编程方式创建这些窗口。在XAML中查找打开的窗口

是否有XAML/WPF解决方案?像GetInstancesByType(type)

可以使用Application.Windows属性:

foreach(var window in Application.Current.Windows.OfType<MyType>()) 
{ 
    // do stuff 
} 

由于H.B.指出,您需要包含System.Linq以获得OfType<T>扩展方法,但这不是必需的。

+0

问题不在于如何枚举窗口。 – 2011-06-06 14:56:49

+0

@ H.B .:嗯......是的。 OP在代码中创建窗口。这些窗口会自动添加到Application.Windows集合中。您可以通过名称,“类型”或您希望使用的其他任何属性来找到它们。对此你觉得很困难? – 2011-06-06 14:59:38

+0

OP需要特定的窗口并要求提供XAML解决方案。 – 2011-06-06 15:02:41