何时在路径中使用“/”符号? 我认为“/”仅在我们使用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}
- 绑定错误。
当我必须使用“/”代替“。”在绑定路径?
答案 0 :(得分:12)
为什么不问the documentation:
属性的子属性可以通过类似于C#中使用的语法指定。例如,子句Path = ShoppingCart.Order将绑定设置为对象或属性ShoppingCart的子属性Order。
当源为collection view时,可以使用斜杠(/)指定当前项。例如,子句Path = /设置绑定到视图中的当前项。当源是集合时,此语法指定默认集合视图的当前项。
(为方便起见,添加了集合视图链接)
这就像它的简洁和完整一样。将.
符号与集合一起使用到其中一个项的属性甚至没有意义。例如Collection.Date
而不是Collection/Date
(除非由于某种原因,集合本身实际上具有Date
属性。)
答案 1 :(得分:4)
当Data
是一个集合时,您需要使用它。 /
获取Data
集合的当前元素,并在其上返回Name
属性。