VisualTreeHelper.GetOpenPopups(Window) 方法

定义

从目标 窗口检索所有打开的弹出控件的集合。

 static IVectorView<Popup> GetOpenPopups(Window const& window);
public static IReadOnlyList<Popup> GetOpenPopups(Window window);
function getOpenPopups(window)
Public Shared Function GetOpenPopups (window As Window) As IReadOnlyList(Of Popup)

参数

window
Window

要从中检索弹出窗口的当前 Window 实例。

返回

所有打开的弹出窗口的列表。 如果未打开任何弹出窗口,则列表为空。

注解

从根视觉对象开始的传统 XAML 可视化树中不存在弹出窗口,尽管它们与应用main窗口相关联。 除非应用维护已创建的所有 Popup 元素的列表,以及 isOpen 值) 状态 (,否则可能很难跟踪它们。 有时,在启动另一个 UI 操作(如导航页面或显示浮出控件)之前,需要清除所有弹出窗口。 GetOpenPopups 提供 实用工具,以便你可以获取对所有这些弹出窗口的引用作为 Popup 实例,然后通常会在每个弹出窗口上将 IsOpen 设置为 false

AppBar 等元素不被视为弹出窗口,它们归页面所有。 工具提示也不被视为弹出窗口,它被视为使用 ToolTipService 附加属性承载它的元素的子元素。 因此, AppBarToolTip 元素都位于传统的 XAML 可视化树中,即使它们当时并不总是显示。 可以使用 GetChild 或其他 VisualTreeHelperAPI 来查找它们,或者,如果按类型知道确切的结构,则可以使用 // 项和相关属性遍视树。

适用于

另请参阅