构造函数中的PropertyPath和PathParameters

时间:2011-03-02 15:36:01

标签: wpf binding

我试图将我的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吗?

1 个答案:

答案 0 :(得分:14)

根据这篇MSDN文章,您需要包含“(0)”来指示参数的放置位置。所以以下内容应该有效:

new Binding {
    Path = new PropertyPath("Values[(0)]", new DateTime(2011, 01, 01))
}