如何在用户控件上公开组合框数据绑定

时间:2014-04-10 15:04:52

标签: c# winforms data-binding combobox

我在 usercontrol 上有一个组合框。我可以公开数据源但是我不能公开实际的绑定。

如果您将正常的组合框添加到表单并转到数据绑定属性,则可以选择选定的值,文本等。

选择此项后,设计师会自动创建

combobox.databindings.add("SelectedValue", datasource, columname, true));

如何在用户控件上公开组合框以使其具有上述行为

1 个答案:

答案 0 :(得分:1)

将这些控件暴露出来可能不是最佳做法,因为毕竟使用UserControl的部分原因是隐藏子控件的细节。

尝试将UserControl上的控件公开为属性:

public partial class UserControl1 : UserControl {
  public UserControl1() {
    InitializeComponent();
  }

  [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
  public ComboBox ComboBox {
    get {
      return this.comboBox1;
    }
  }
}

如果您只对控件的DataBindings感兴趣,那么尝试公开该信息:

public partial class UserControl1 : UserControl {
  public UserControl1() {
    InitializeComponent();
  }

  [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
  public ControlBindingsCollection ComboDataBindings {
    get {
      return this.comboBox1.DataBindings;
    }
  }
}