我想绑定到我的节点的元素名称XmlDataProvider.我似乎无法让local-name()在我的XPath表达式中工作.XAML是否支持local-name()?
<TextBlock Text="{Binding XPath=local-name()}" />
Run Code Online (Sandbox Code Playgroud)
我一直在尝试做完全相同的事情,并且非常确定它在一步中不受支持。
Binding.XPath帮助说XmlNode :: SelectNodes方法处理来自 XPath 属性的 XPath 表达式。不支持 XPath 函数。
然而
您可以使用一些技巧来解决它 - 您需要在元素周围有一个容器来提供 DataContext 这是您的 XPath 的结果,然后您可以使用 Path 查询该上下文对象的 LocalName 属性,例如在我的工作中例子:
<StackPanel Grid.Row="20" Grid.Column="1"
DataContext="{Binding XPath=r:Result/r:LIC1}">
<TextBlock Text="{Binding Path=LocalName}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
我最初一直试图通过以下方式实现:
<TextBlock Grid.Row="20" Grid.Column="1"
Text="{Binding XPath=r:Result/r:LIC1/local-name\(\)}" />
Run Code Online (Sandbox Code Playgroud)