我试图将我的DataGrid列绑定到一个列表,在该列表中可以使用索引器检索列的项。索引器类型为DateTime。
我正在使用代码创建DataGrid列,并希望创建一个绑定来从列表中检索值。在XAML中,路径将写成:
{绑定路径=Values01/01/2011}
但是因为我是在后面的代码中完成的,所以我需要使用PropertyPath来定义路径,如下所示:
new Binding{
Path = new PropertyPath("Values[01/01/2011]")
}对于接受路径和参数数组的构造函数,还有另一个重载。根据documentation,参数用于索引器。但是当我把我的绑定写成
new Binding {
Path = new PropertyPath("Values", new DateTime(2011, 01, 01))
}绑定无法解析路径。很公平,我并不是说它应该寻找索引器。但是如果我写成:
新建绑定{ Path = new PropertyPath("Values[]",new DateTime(2011,01,01)) }
然后将DateTime.MinValue传递给索引器。
有人能给我解释一下如何在构造函数中使用PathParameters,以及如何绑定到索引器,而不必对实际路径中的值执行ToString吗?
发布于 2011-03-04 07:11:11
根据这篇MSDN文章,您需要包含"(0)“来指示参数应该放在哪里。因此,下面的代码应该可以工作:
new Binding {
Path = new PropertyPath("Values[(0)]", new DateTime(2011, 01, 01))
}https://stackoverflow.com/questions/5169767
复制相似问题