WPF, с помощью XPath в XAML с XmlDataProvider для выбора узлов на основе выбранного значения в ComboBox

Этот вопрос связывает с моим предыдущим вопросом, но более конкретен. Скажите, что у меня есть два ComboBoxes, один заполненный с названиями продукта, другое пустое. Когда продукт выбран, я хочу, чтобы второй ComboBox был переполнен данными, связанными с тем продуктом. У меня есть XML как следующее:


    
        
            
            
            ...more Component nodes...
        
    
    ...more Product nodes...

То, что я надеялся, - то, что я мог так или иначе установить XPath на Компоненте ComboBox, таким образом, что это добирается весь Components/Component узлы от Product узел, чей @name атрибут равен в настоящее время выбираемому значению в продукте ComboBox. Действительно ли это возможно? Как я сделал бы это? Вот то, что я имею в своем XAML до сих пор:



    
        
        
    

ComboBox продукта переполнен названиями продукта как MyProduct1, так, чтобы часть была прекрасна. Это - зависимый Компонент ComboBox, с которым я нуждаюсь в помощи.

1
задан Community 23 May 2017 в 11:57
поделиться

1 ответ

Погуглив в поисках примеров использования выражений XPath в WPF, я нашел эту статью, которая подсказала мне решение окольным путем. Его пример был сложнее моего, поэтому мне не пришлось создавать классы конвертера XML. Мне просто нужен был следующий XAML для моего зависимого компонентного ComboBox:

<ComboBox Height="23" HorizontalAlignment="Left" Margin="138,151,0,0"
          Name="cbo_component" VerticalAlignment="Top" Width="201"
          DataContext="{Binding ElementName=cbo_product, Path=SelectedItem}"
          ItemsSource="{Binding XPath=Components/Component}"
          DisplayMemberPath="@name"/>

Здесь cbo_product - это Name моего Product ComboBox.

2
ответ дан 2 September 2019 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: