我试图将我的DataGrid列绑定到一个列表,在该列表中可以使用索引器检索列的项目。索引器类型是DateTime。
我正在使用代码创建DataGrid列,并希望创建一个绑定以从列表中检索值。在XAML中,路径将写为:
{Binding Path = Values [01/01/2011]}
但是由于我在后面的代码中执行它,我需要使用PropertyPath定义路径,如下所示:
new Binding{
Path = new PropertyPath("Values[01/01/2011]")
}
构造函数还有另一个带有路径和参数数组的重载。根据{{3}},参数用于索引器。但是当我把我的装订写成
时new Binding {
Path = new PropertyPath("Values", new DateTime(2011, 01, 01))
}
绑定无法解析路径。很公平,我并没有说它应该寻找一个索引器。但如果我把它写成:
new Binding { Path = new PropertyPath(“Values []”,new DateTime(2011,01,01)) }
然后将DateTime.MinValue传递给索引器。
有人可以向我解释如何在构造函数中使用PathParameters以及如何绑定到索引器而不必在实际路径中对我的值执行ToString吗?
答案 0 :(得分:14)
根据这篇MSDN文章,您需要包含“(0)”来指示参数的放置位置。所以以下内容应该有效:
new Binding {
Path = new PropertyPath("Values[(0)]", new DateTime(2011, 01, 01))
}