VisualTreeHelper.GetOpenPopups(Window) Метод

Определение

Извлекает коллекцию всех открытых всплывающих элементов управления из целевого окна.

public:
 static IVectorView<Popup ^> ^ GetOpenPopups(Window ^ 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

Текущий экземпляр Окна , из которого извлекаются всплывающие окна.

Возвращаемое значение

Список всех открытых всплывающих окон. Если всплывающие окна не открыты, список будет пустым.

Комментарии

Всплывающие окна не существуют в обычном визуальном дереве XAML, которое начинается с корневого визуального элемента, хотя они связаны с окном main приложения. Если приложение не поддерживает список всех созданных вами всплывающих элементов, а также состояние (значение IsOpen ), отслеживать их может быть сложно. Иногда требуется очистить все всплывающие окна, прежде чем инициировать другое действие пользовательского интерфейса, например переход по странице или отображение всплывающего меню. GetOpenPopups предоставляет служебную программу, чтобы можно было получить ссылку на все эти всплывающие окна в виде экземпляров popup , а затем для каждого из них для свойства IsOpen обычно устанавливается значение false .

Такие элементы, как AppBar , не считаются всплываемыми окнами, они принадлежат странице. Подсказка также не считается всплывающей подсказкой, она считается дочерним элементом элемента, который использует присоединенные свойства ToolTipService для размещения. Таким образом, элементы AppBar и ToolTip находятся в обычном визуальном дереве XAML, даже если они не всегда отображаются в данный момент. Их можно найти с помощью GetChild или другого API VisualTreeHelperили путем обхода дерева с дочерними/элементами/ и связанными свойствами, если вы знаете точную структуру по типу.

Применяется к

См. также раздел