【发布时间】:2011-03-22 13:12:48
【问题描述】:
我自己创建了一个继承自默认系统文本框的新文本框控件。如果我向我的设计器添加一个数据源,并且在 DataSource 视图中,我可以在可以拖动到设计器的控件列表中看到我的新文本控件。
我的问题是当我将控件拖到设计器上时,VS 会创建以下代码。
this.someValueTextEdit1.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.myViewModelBindingSource, "SomeValue", true));
当我将控件拖到设计器上时,我希望它使用一些自定义代码。
如果您想知道我为什么要这样做,我可以更改绑定,以便它使用 linq 和表达式树而不是字符串属性值。类似的东西
Bind(this.someValueTextEdit, c => c.EditValue, v => v.SomeValue);
【问题讨论】:
-
为什么?没有意义,它不会让它变得更快。序列化它已经够痛苦的了,编写读取它的代码解析器会杀了你。
-
我知道它不会让它更快,它确实使它成为强类型。
标签: visual-studio data-binding windows-forms-designer auto-generate