在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>
扩展方法,但这不是必需的。
问题不在于如何枚举窗口。 – 2011-06-06 14:56:49
@ H.B .:嗯......是的。 OP在代码中创建窗口。这些窗口会自动添加到Application.Windows集合中。您可以通过名称,“类型”或您希望使用的其他任何属性来找到它们。对此你觉得很困难? – 2011-06-06 14:59:38
OP需要特定的窗口并要求提供XAML解决方案。 – 2011-06-06 15:02:41