WPF绑定语法

时间:2011-06-20 16:17:40

标签: c# wpf syntax binding path

何时在路径中使用“/”符号? 我认为“/”仅在我们使用XML时使用,但今天看到示例:

class ViewModel
{
    CollectionView Data {get;set;}
}

class BusinessObkect
{
    string Name {get;set;}
}

窗口的DataContext属性设置为ViewModel类的实例,ViewModel实例的Data属性使用BusinessObject对象的集合进行初始化。

如果是TextBox实例的Text属性 {Binding Path=Data/Name}一切正常,但如果Text = {Binding Path=Data.Name} - 绑定错误。

当我必须使用“/”代替“。”在绑定路径?

2 个答案:

答案 0 :(得分:12)

为什么不问the documentation

  

属性的子属性可以通过类似于C#中使用的语法指定。例如,子句Path = ShoppingCart.Order将绑定设置为对象或属性ShoppingCart的子属性Order。

  

当源为collection view时,可以使用斜杠(/)指定当前项。例如,子句Path = /设置绑定到视图中的当前项。当源是集合时,此语法指定默认集合视图的当前项。

(为方便起见,添加了集合视图链接)

这就像它的简洁和完整一样。将.符号与集合一起使用到其中一个项的属性甚至没有意义。例如Collection.Date而不是Collection/Date(除非由于某种原因,集合本身实际上具有Date属性。)

答案 1 :(得分:4)

Data是一个集合时,您需要使用它。 /获取Data集合的当前元素,并在其上返回Name属性。