2011-06-20 74 views
4

何时在路径中使用“/”符号? 我认为,当我们使用XML“/”只使用,但今天看到的例子:WPF绑定语法

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

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

DataContext属性设置为视图模型类的实例,视图模型实例的数据属性niitialized与一个BusinessObject对象的集合。

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

当我必须使用“/”而不是“”。在绑定路径?

回答

11

为什么不问the documentation

属性的

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

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

(Collection视图链接添加了方便)

这是我们所简洁,完整,因为它得到。使用集合的.表示法对其中一个项目的属性甚至没有意义。例如Collection.Date而不是Collection/Date(除非集合本身由于某种原因实际上具有Date属性)。

4

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

+0

你是什么意思的“当前元素的集合”?我所熟悉的这些集合类型都没有关于当前项目的概念。 –

+0

在这种情况下,他自己使用'CollectionView',它已经有了。如果您使用'ObservableCollection '(或类似的),那么WPF引擎会将它包装到一个'CollectionView'中以提供这些必要的基础设施。 – Femaref

+0

啊,好的,很高兴知道。谢谢。 –