更改 VisualStudio 自动生成的代码

发布于 2024-10-26 08:02:38 字数 508 浏览 5 评论 0原文

我为自己创建了一个新的 TextBox 控件,该控件继承自默认的系统 TextBox。如果我向设计器添加数据源,并且在数据源视图中,我可以在可以拖动到设计器上的控件列表中看到新的文本控件。

我的问题是,当我将控件拖到设计器上时,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);

I have created myself a new TextBox control which inherits from the default System TextBox. If I add a datasource to my designer and in the DataSource view I can see my new text control in the list of controls I can drag onto the designer.

My Issue is when I drag the control onto the designer VS goes and creates the following code.

this.someValueTextEdit1.DataBindings.Add(new System.Windows.Forms.Binding("EditValue", this.myViewModelBindingSource, "SomeValue", true));

I instead would like it to use some custom code when I drag the control onto the designer.

If your wondering why I want to do this, is so I can change the binding so that it uses linq and expression trees rather than string property values. Something like

Bind(this.someValueTextEdit, c => c.EditValue, v => v.SomeValue);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怂人 2024-11-02 08:02:38

您应该创建自己的 CodeDomSerializer 类。

使用示例:MSDN 上的 CodeDomSerializer 类

You shuld create your own CodeDomSerializer class.

Sample of usage: CodeDomSerializer Class on MSDN

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文