List<Person> list = new List();
... 
...
listbox1.ItemsSource = list;这种绑定是双向绑定还是单向绑定啊。书上说的,绑定到集合,实际上绑定到集合视图,视图是不更改基础数据源的。那是不是这种绑定是单向的呢?

解决方案 »

  1.   

    listbox1.ItemsSource = list;
    只是给你的listbox1控件指定了要绑定的数据
    具体的 你可以在你的datatemplate里面写绑定的语句
    比如textbox text={bing Name,mode=}这里你依旧可以设置成双向绑定
    这样你的输入框里的数据就是可以修改数据源的
      

  2.   

    话说textbox text={bing Name,mode=}这里你依旧可以设置成双向绑定,何以说视图不会更改基础数据源?
      

  3.   


    http://msdn.microsoft.com/zh-cn/library/ms752347(v=vs.100).aspx这段全部读完应该理解了就
    还有就是 个人认为是这样的
    对于列表型的空间 数据源是实现了 IEnumerable接口的任何列表型数据
    所以你不能修改这list的值意思就是不能对list进行修改
    但是对于你每一条比你你list里面的数据对象person
    你实际上是可以进行修改的
    自己做个试验试下就知道了
      

  4.   


    http://msdn.microsoft.com/zh-cn/library/ms752347(v=vs.100).aspx这段全部读完应该理解了就
    还有就是 个人认为是这样的
    对于列表型的空间 数据源是实现了 IEnumerable接口的任何列表型数据
    所以你不能修改这list的值意思就是不能对list进行修改
    但是对于你每一条比你你list里面的数据对象person
    你实际上是可以进行修改的
    自己做个试验试下就知道了
    你的意思是,listbox1.ItemsSource = list;
    还是单向绑定 ?
      

  5.   


    对于list的绑定 是单向的 msdn权威解释若要将 ItemsControl 绑定到集合对象,应使用 ItemsSource 属性。 可以将 ItemsSource 属性视为 ItemsControl 的内容。 请注意,绑定是 OneWay,因为 ItemsSource 属性默认情况下支持 OneWay 绑定。