代码之家  ›  专栏  ›  技术社区  ›  sourcenouveau

xpath中本地-name()的xaml支持

  •  5
  • sourcenouveau  · 技术社区  · 16 年前

    我想绑定到我的 XmlDataProvider . 我似乎无法让local-name()在xpath表达式中工作。XAML是否支持local-name()?

    <TextBlock Text="{Binding XPath=local-name()}" />
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   Andy Dent    15 年前

    我一直在尝试做完全相同的事情,我很确定这是不支持在一个步骤。

    这个 Binding.XPath 帮助说 这个 XmlNode::SelectNodes 方法处理来自xpath属性的xpath表达式。不支持xpath函数。

    然而

    您可以使用一些hack来解决这个问题—您需要在元素周围有一个容器来提供一个DataContext,它是您的xpath的结果,然后您可以使用 路径 例如,在我的工作示例中:

    <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\(\)}" /> 
    
    推荐文章