我在usercontrol上有一个组合框。我可以公开数据源,但是我不能公开实际的绑定。
如果将普通组合框添加到表单并转到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;
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句