wpf集合子属性数据绑定路径

时间:2019-07-03 21:13:26

标签: c# wpf data-binding observablecollection

我正在尝试实现与以下所示的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

1 个答案:

答案 0 :(得分:1)

恐怕WPF或XAML中的属性绑定路径不支持ID='123456'之类的东西。索引和编译时常量是唯一的选择。

例如,如果PeopleDictionary<int, Person>,则可以根据恒定键(Person)绑定到特定的123456这个:

People[123456].Name

但是您不能使用绑定路径基于属性进行过滤。不支持。