集合有什么要求才能使用绑定?

时间:2014-01-26 17:13:59

标签: c# wpf xaml data-binding binding

我有Binding(从不介意它是DataGridTextColumn属性这一事实:

...
<DataGridTextColumn Binding="{Binding Path=Whatever}"/>
...

代码隐藏:

MyCollectionType<WhateverWrapper> { get; set; }

这是WhateverWrapper

class WhateverWrapper {
    public string Whatever { get; set; }
}

我的问题是:为MyCollectionType工作,Binding有哪些要求?我必须实现哪些接口?或者如果不是接口继承使其工作,那么它是什么?也许是特定的方法名称?

1 个答案:

答案 0 :(得分:2)

ItemsControl控件是ListBoxListViewDataGridComboBoxMenuItem等控件的基础,具有{{3 IEnumerable类型的属性:

  

public IEnumerable ItemsSource {get;组; }

这是主要条件。如果集合实现了IEnumerable接口,则可以绑定到集合。

  

WPF永远不会直接绑定到集合。如果将集合指定为绑定源,则WPF实际上会绑定到集合的默认视图。

如果您希望绑定自动获取对集合所做的更改(添加/删除项目),那么您还需要实现ItemsSource接口或使用像INotifyCollectionChanged这样的现成实现。 />
您可以在以下网址阅读更多相关信息: