2017-02-22 31 views
0

У меня есть файл XML, который выглядит следующим образом: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> 

и два ListBoxes в моем XAML. В первом списке должны отображаться комментарии от контрольного источника комментариев. Второй должен показать комментарии Национальной компании. Как я могу указать привязку данных в терминах исходного атрибута?

На данный момент мой привязки выглядит следующим образом:

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

Можно ли передать дополнительный параметр для комментариев элемента? Например, таким образом

Path=Element[[email protected]='Controller'].Element[refs].Elements[ref] 

ответ

0

Вы можете использовать XPath, чтобы сделать это легко

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

Вам все еще нужно установить источник, и вы, возможно, придется бежать кавычки вокруг «Controller». Здесь приведены некоторые ресурсы для начала работы How to use XPath и XPath syntax