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

本文关键字:组合 数据绑定 用户 控件 | 更新日期: 2023-09-27 17:57:43

我在用户控件上有一个组合框。我可以公开数据源,但不能公开实际绑定。

如果您将一个普通的组合框添加到表单并转到databindings属性,则可以选择所选值、文本等。

选择后,设计者会自动创建一个

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

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

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

这样公开控件可能不是最佳实践,因为毕竟,使用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;
    }
  }
}