我在 usercontrol 上有一个组合框。我可以公开数据源但是我不能公开实际的绑定。
如果您将正常的组合框添加到表单并转到数据绑定属性,则可以选择选定的值,文本等。
选择此项后,设计师会自动创建
combobox.databindings.add("SelectedValue", datasource, columname, true));
如何在用户控件上公开组合框以使其具有上述行为
答案 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;
}
}
}