我設法找到我自己的研究答案,這似乎令人驚異的是我,這是很難找到一個回答這個問題,一旦我發現如何做到這一點:
一個Component
缺乏必要屬性來管理綁定。要在Visual Studio設計器中綁定Component
,您必須實現IBindableComponent
接口。
例如:
public abstract class MyComponent : Component, IBindableComponent
{
private BindingContext bindingContext;
private ControlBindingsCollection dataBindings;
[Category("Data")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ControlBindingsCollection DataBindings
{
get { return dataBindings ?? (dataBindings = new ControlBindingsCollection(this)); }
}
[Browsable(false)]
public BindingContext BindingContext
{
get { return bindingContext ?? (bindingContext = new BindingContext()); }
set { bindingContext = value; }
}
}
注:DataBindings
屬性需要被打上[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
否則綁定在設計中添加不會被序列化