[英]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.