簡體   English   中英

通過XPath識別和查找XAML樹中的元素

[英]Identify and find element in XAML tree by XPath

是否有可能使用XPath來標識正在運行的應用程序中的每個XAML元素?

例如,如果我具有以下XAML結構。

<Page>
    <StackPanel>
        <Button />
        <Button />
    </StackPanel>
</Page>

例如,我想知道第二個按鈕的XPath,當我有了它時,我想在此之后使用XPath來檢索按鈕。

我知道如果我有XmlDocument ,就可以毫無問題地使用XPath,但是如果可能的話,我希望通過運行應用程序的元素來實現相同的目的。

實際上,沒有運行時在其上應用XPath的XAML結構。 XAML解析器將解析您的XAML標記,並創建組成您在屏幕上看到的用戶界面的元素樹。

因此,如果在運行時構造好第二個按鈕后,就需要在StackPanel中找到第二個按鈕,則可以直接在StackPanel的Children集合中查找:

Button secondButton = sp.Children[1] as Button;

...或使用VisualTreeHelper類在視覺樹中找到它:在視覺樹中找到控件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM