Два связанных выпадающих списка + XML + DataBinding - PullRequest
0 голосов
/ 16 декабря 2011

У меня проблема, похожая на это и это . Вот описание:

У меня есть следующий XML:

<Parts>
  <Part id="1" name="part1">
    <SubParts>
      <SubPart id="1" name="sub_part1"/>
      <SubPart id="2" name="sub_part2"/>
    </SubParts>
  </Part>
  ...
</Parts>

Конечно, я хочу, чтобы в моем элементе управления WPF было два зависимых элемента ComboBox - один для деталей и один для подчастей.

Отличие от решения выше состоит в том, что я не хочу заменять DataContext второго ComboBox, потому что чем я теряю родительскую привязку DataContext.

Я хочу получить что-то вроде этого:

  <ComboBox x:Name="_partCombo"  ItemsSource="{Binding Source={StaticResource xmlPartList}, XPath=./Part}"
              ...
              SelectedValue="{Binding PartID}"/>

  <ComboBox x:Name="_subPartCombo"  ItemsSource="{Binding Source={StaticResource xmlPartList}, XPath=./Part/SubParts}"
              ...
              SelectedValue="{Binding SubPartID}"/>

Я пытался использовать промежуточный элемент данных для привязки выбранного элемента из первого ComboBox, но не могу связать его со вторым.

Требуется любая помощь.

1 Ответ

0 голосов
/ 16 декабря 2011

попробуй

ItemsSource="{Binding Source={StaticResource xmlPartList}, 
                      RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window},
                      XPath=./Part/SubParts}"
...