代码之家  ›  专栏  ›  技术社区  ›  DaveB

使viewmodel属性对silverlight中的绑定可见

  •  0
  • DaveB  · 技术社区  · 15 年前

    我将一个对象(命名客户机)和ObservableCollection(命名联系人)属性绑定到我的Silverlight视图。我的客户机类在is和observableCollection上有一些字符串属性,称为contacts。我的viewmodel上有一个名为client的属性(它实现了inotifypropertychanged)包含client对象。如果我将视图中的列表框绑定到对象上的obervablecollection,如下所示:

    itemsSource=“{binding path=client.contacts,mode=twowway}”

    并将联系人项目添加到集合中,视图将正确更新,并显示新添加的联系人。这一切都很好。

    如果我在viewmodel上像这样创建contacts属性 公共可观察收集联系人 { 得到 { 归还客户联系人; } 并将列表框绑定到

    itemsSource=“{binding path=contacts,mode=twowway}”

    视图从未更新。

    我将联系人项添加到客户端,如下所示:

    client.contacts.add(新联系人)

    为什么联系人列表框不更新?我怎样才能改变它呢?客户端.联系人绑定可以使用吗?添加新联系人后在代码中插入一个分隔符,表示新联系人对象正在添加到集合中,但视图没有看到添加。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Jobi Joy    15 年前

    当执行到达itemssource=“{binding path=contacts,mode=twoway}”时,绑定似乎没有执行。您可以验证是否在VIEWMIDE的构造函数中实例化集合,因为在绑定时间,我感觉联系人实例没有设置(NULL)

    推荐文章