実行中のアプリケーションで各XAML要素を識別するためにXPathを使用する可能性はありますか?XPathでXAMLツリーの要素を特定して検索する
たとえば、次のようなXAML構造があるとします。
<Page>
<StackPanel>
<Button />
<Button />
</StackPanel>
</Page>
私は、例えば第二ボタンのXPathを知っていただきたいと思い、私はそれを持っているとき、私は、その後のXPathへのボタンのおかげを取得したいと思います。
もし私がXmlDocument
を持っていれば私は問題なくXPathで作業することができますが、可能ならば実行中のアプリケーションから同じ要素を得ることを望みます。
書くことができるコードを表示できますか? 「アプリケーションを実行している要素と同じもの」が何を意味するのかはあまり明確ではありません。 –
かなり苦しい方法のように聞こえます。コードビハインドからコントロールにアクセスしたい場合は、名前を付けて(x:Name = "someName")名前に基づいてアクセスすることが理にかなっています(Button btn =(Button)this.FindName( "someName ");) – Asnivor
@AlexeiLevenkov 2番目のボタンをクリックすると、「/ Page/StackPanel/Button [index]」になります。その後、XPath式のおかげでボタンを探しています。 –