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本身只不过是一个数据源适配器,它在设计时绑定到一个类型(或一个小数据模型),并在运行时绑定到一个真实实例.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。