我想绑定到XmlDataProvider
中节点的元素名称。我似乎无法让local-name()在我的XPath表达式中工作。 XAML是否支持local-name()?
<TextBlock Text="{Binding XPath=local-name()}" />
答案 0 :(得分:1)
我一直在努力做同样的事情,我很确定它不会一步到位。
Binding.XPath帮助说 XmlNode::SelectNodes方法处理XPath属性中的XPath表达式。不支持XPath函数。
然而
你可以使用一些黑客来解决它 - 你需要在元素周围提供一个容器来提供一个DataContext,这是你的XPath的结果,然后你可以使用路径查询该上下文对象的LocalName属性,例如在我的工作示例中:
<StackPanel Grid.Row="20" Grid.Column="1"
DataContext="{Binding XPath=r:Result/r:LIC1}">
<TextBlock Text="{Binding Path=LocalName}" />
</StackPanel>
我原本试图通过以下方式实现:
<TextBlock Grid.Row="20" Grid.Column="1"
Text="{Binding XPath=r:Result/r:LIC1/local-name\(\)}" />