XML数据绑定

时间:2017-02-22 20:13:03

标签: xml wpf listbox

我有一个XML文件,如下所示:

<Month name="Jan">
  <Comment source="Controller">
    <refs>
      <ref account="1" content="1. Zeile"/>
      <ref account="2" content="2. Zeile"/>
      <ref account="3" content="3. Zeile"/>
    </refs>
  </Comment>
  <Comment source="NatCo">
    <refs>
       <ref account="1" content="4. Zeile"/>
       <ref account="2" content="5. Zeile"/>
       <ref account="3" content="6. Zeile"/>
    </refs>       
  </Comment>
</Month>

和我的XAML中的两个列表框。第一个列表框应该显示来自Comment source Controller的注释。第二个应该显示国家公司的评论。如何根据源属性指定数据绑定?

目前我的数据绑定看起来像这样:

ListBox Name="lstNaCo" ItemsSource="{Binding Path=Element[Comment].Element[refs].Elements[ref]}"

是否可以为comments元素移交其他参数?例如以这种方式

Path=Element[Comment@source='Controller'].Element[refs].Elements[ref]

1 个答案:

答案 0 :(得分:0)

您可以使用xpath轻松完成

<ListBox>
     <ListBox.ItemsSource>
          <Binding XPath="//Comment[@source='Controller']"/>
     </ListBox.ItemsSource>
</ListBox>

您仍然需要设置源代码,您可能必须转义“Controller”周围的引号。这里有一些资源可供使用How to use XPathXPath syntax