我正在尝试实现与以下所示的xpath函数等效的东西,但是具有wpf绑定路径。本质上,我只需要使用人员的ID作为过滤器就可以在收集列表中获取人员的名称。我不太确定如何正确地为此构建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
答案 0 :(得分:1)
恐怕WPF或XAML中的属性绑定路径不支持ID='123456'
之类的东西。索引和编译时常量是唯一的选择。
例如,如果People
是Dictionary<int, Person>
,则可以根据恒定键(Person
)绑定到特定的123456
这个:
People[123456].Name
但是您不能使用绑定路径基于属性进行过滤。不支持。