c#中的可绑定对象?

时间:2012-07-16 06:58:00

标签: c# .net .net-4.0

是什么让对象在.net中成为可绑定的?

我曾经被回答过,它是Ienumerable类,它使它成为Bindable。

然而,当我查看DataTAble(System.Data)时,它没有实现Ienumerable:

public class DataTable : MarshalByValueComponent, 
                         IListSource, 
                         ISupportInitializeNotification,
                         ISupportInitialize, 
                         ISerializable, 
                         IXmlSerializable
{...}

仍然,我们可以写:

myObj.DataSource=myDataTable;
myObj.Bind();

帮助?

3 个答案:

答案 0 :(得分:2)

DataTable通过提供IListSource

来实施DataTable.DefaultView

DataView实现IBindingList,这是绑定目标实际使用的

答案 1 :(得分:0)

来自MSDN

DataGridView类支持标准的Windows窗体数据绑定模型。这意味着数据源可以是实现以下接口之一的任何类型:

IList接口,包括一维数组。

IListSource接口,例如DataTable和DataSet类。

IBindingList接口,例如BindingList类。

IBindingListView接口,例如BindingSource类。

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasource.aspx

答案 2 :(得分:0)

嗯,据我所知,任何对象都可以绑定WPF绑定。 但默认情况下不会通知值的更改,它必须实现INPC,INCC .. 对于winforms,情况非常不同。 所以它实际上取决于你具体询问的绑定类型。