VisualTreeHelper.GetOpenPopups(Window) 方法
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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)
所有打开的弹出窗口的列表。 如果未打开任何弹出窗口,则列表为空。
从根视觉对象开始的传统 XAML 可视化树中不存在弹出窗口,尽管它们与应用main窗口相关联。 除非应用维护已创建的所有 Popup 元素的列表,以及 isOpen 值) 状态 (,否则可能很难跟踪它们。 有时,在启动另一个 UI 操作(如导航页面或显示浮出控件)之前,需要清除所有弹出窗口。 GetOpenPopups 提供 实用工具,以便你可以获取对所有这些弹出窗口的引用作为 Popup 实例,然后通常会在每个弹出窗口上将 IsOpen 设置为 false 。
AppBar 等元素不被视为弹出窗口,它们归页面所有。 工具提示也不被视为弹出窗口,它被视为使用 ToolTipService 附加属性承载它的元素的子元素。 因此, AppBar 和 ToolTip 元素都位于传统的 XAML 可视化树中,即使它们当时并不总是显示。 可以使用 GetChild 或其他 VisualTreeHelperAPI 来查找它们,或者,如果按类型知道确切的结构,则可以使用 子/项/子 项和相关属性遍视树。