Привязка XML к WPF, привязка к строке / свойству и предложения фильтра

#wpf #data-binding #xpath

#wpf #привязка к данным #xpath

Вопрос:

Я пытаюсь привязать XML-документ к wpf через datacontext, и у меня возникают проблемы с пониманием того, как выполнить привязку свойства

Предполагая, что XML-файл, подобный:

 <Vehicles>
  <Vehicle Name="Test" Vehicle_Id="1"/>
</Vehicles>
  

Как мне достичь того, что я пытаюсь сделать ниже,

попытка 1:

 <TextBlock DataContext="{Binding XPath=/Vehicles/Vehicle[@Vehicle_Id='1']}" Text="{Binding XPath=@Name}"/>
  

попытка 2:

 <TextBlock Text="{Binding XPath=/Vehicles/Vehicle[@Vehicle_Id='1']/@Name}"/>
  

например, возможно ли использовать предложения filter в xpath для datacontext

Поскольку я новичок в WPF, я допускаю, что, возможно, я полностью упускаю смысл DataContext в этом контексте.

Заранее спасибо!

Комментарии:

1. Эти выражения XPath являются допустимыми. Я предполагаю, что вы спрашиваете о ваших конкретных функциях XML-словаря о вызове XPath engine. Повторная пометка.

2. @Alejandro Я пометил XPath, поскольку он относится к свойству xpath привязки WPF. Хотя они могут быть правильными xpath, ни одна из приведенных выше строк не компилируется при назначении свойству xpath в привязке свойства.

Ответ №1:

Вам следует попробовать настроить XmlDataProvider. Ознакомьтесь с блогом Беа Столлниц, в котором приведены примеры методов привязки XML только к WPF XAML.