ユーザー入力用の UI 要素を作成する方法を説明する XML ドキュメントと、いくつかのデータと XPath 式を含むデータ オブジェクトがあります。HierarchicalDataTemplate を使用して XML に基づいて UI を構築するデータ オブジェクト タイプの DataTemplate がありますが、XML のサブセットのみを使用したいと考えています。XPath 式が静的であれば、次のように書くことができます。
<TreeView ItemsSource="{Binding Source={StaticResource dataProvider},
XPath=/Static/XPath/Expression/*}" />
XPath 式はデータ オブジェクトから取得されるため、データ バインディングを使用すると便利です。
<TreeView ItemsSource="{Binding Source={StaticResource dataProvider},
XPath={Binding Path=Data.XPathExpression}}" />
残念ながら、Binding MarkupExtension は DependencyObject から継承しないため、そのプロパティは DependencyProperty ではなく、データ バインディングをサポートしていません。
XML データにバインドするときに動的 XPath 式を適用するにはどうすればよいですか?