加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – BindingSource作为BindingSource,BindingSource作为ViewMo

发布时间:2020-12-15 22:24:00 所属栏目:百科 来源:网络整理
导读:我已经注意到这两种在 winforms中实现数据绑定的方法.但是,我想知道哪一个更受欢迎(就整体性能而言,例如设计时间,效率?据我所知,这两个是: BindingSource作为BindingSource: this.textBox1.DataBindings.Add(new Binding(“Text”,this.myBindingSource,
我已经注意到这两种在 winforms中实现数据绑定的方法.但是,我想知道哪一个更受欢迎(就整体性能而言,例如设计时间,效率?据我所知,这两个是:

BindingSource作为BindingSource:

this.textBox1.DataBindings.Add(new Binding(“Text”,this.myBindingSource,“Augend”,true));

>可以在设计时使用表单的属性窗口轻松实现,并让它自动生成代码.
>使用INotifyPropertyChanged更新控件,并简单地调用OnPropertyChanged而不使用严格的PropertyName值(这对我来说似乎是一种失望)

BindingSource作为ViewModel:

this.textBox1.DataBindings.Add(new Binding(“Text”,this.myViewModel,true));

>如果没有自动生成和ViewModel的ProeprtyName匹配,似乎更多的工作
>使用INotifyPropertyChanged更新控件但是PropertyName应该与对象的Property相同(它以某种方式给出了保证的感觉而不是前一个)

我开始更倾向于将BindingSource作为ViewModel,但我认为如果使用BindingSource作为BindingSource,对于应用程序的控件设计者来说要容易得多.我相信控制和绑定将会失去耦合.他可以将控件更改为他想要的任何内容,只需使用其属性窗口绑定数据,而不是潜入代码并手动更改其中的设置.

解决方法

However,I would like to know which one of them is more preferred (In terms of overall performance e.g design time,efficiency?

很快,没有首选的.

>性能差异(如果有的话)可以忽略不计.数据绑定涉及很多反映,以便计算一些额外的委托调用(这些天无论如何都没有这样做).>设计时间支持怎么样,它取决于要求而不能用作“整体性能”因素.例如,许多业务应用程序更喜欢使用规则和属性(如数据注释)通过代码生成运行时自动UI,因此根本不需要设计时支持.另一方面,如果您确实需要设计时支持,除了使用BindingSource或类似的中介之外别无选择. BindingSource本身只不过是一个数据源适配器,它在设计时绑定到一个类型(或一个小数据模型),并在运行时绑定到一个真实实例.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读