путь привязки данных субпредприятий коллекций wpf - PullRequest
1 голос
/ 04 июля 2019

Я пытаюсь получить что-то эквивалентное функции xpath, показанной ниже, но с путями привязки wpf.По сути, мне нужно получить имя человека в списке сбора, используя только идентификатор человека в качестве фильтра.Я не совсем уверен, как правильно построить путь wpf для этого.

Я просмотрел несколько сообщений msdn, особенно этот: binding_to_collections , но, насколько я могу сказать, это толькоописывает индексную фильтрацию.

//XPath that works with xmls
string xpath = "//People[ID='123456']/Name";

//My attempts at wpf path bindings
var binding = new Binding($"People[ID='123456'].Name");
var binding = new Binding($"People[ID='{personID}'].Name");
var binding = new Binding($"People[0].Name");//works but doesn't show correct person

1 Ответ

1 голос
/ 04 июля 2019

Боюсь, нет ничего похожего на ID='123456', поддерживаемый для путей привязки свойств в WPF или XAML. Индексы и константы времени компиляции являются единственными опциями.

Например, если People было Dictionary<int, Person>, вы можете привязать к определенному Person на основе константы ключ (123456), например:

People[123456].Name

Но вы не можете фильтровать по свойству, используя путь привязки. Это не поддерживается.

...