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 可視化樹狀結構中,雖然它們與應用程式主視窗相關聯。 除非您的應用程式會維護您所建立的所有 Popup 元素清單,以及 IsOpen 值 () 的狀態,否則很難追蹤它們。 有時候您會想要在起始另一個UI動作之前清除所有彈出視窗,例如瀏覽頁面或顯示飛出視窗。 GetOpenPopups 會提供 公用程式,讓您可以取得所有這些快顯的參考做為 Popup 實例,然後您通常會在每個快顯實例上將 IsOpen 設定為 false

AppBar 之類的元素不會被視為彈出視窗,它們是由Page所擁有。 工具提示也不會被視為快顯,它會被視為使用 ToolTipService 附加屬性來裝載它的元素子系。 因此,AppBarToolTip 元素都位於傳統的 XAML 可視化樹狀結構中,即使它們不一定會在一段時間內顯示也一樣。 您可以使用 GetChild 或其他 VisualTreeHelperAPI 找到這些專案,或者如果您依類型知道確切的結構,請使用/專案/和相關屬性來瀏覽樹狀結構。

適用於

另請參閱