当前位置:主页   - 电脑 - 程序设计 - C#
Effective C# 原则38:使用和支持数据绑定
来源:网络   作者:   更新时间:2012-03-20
收藏此页】    【字号    】    【打印】    【关闭

  有经验的Windows程序员一定对写代码从一个控件上取值,以及把值存储到控件上很熟悉:

public Form1 : Form
{
 private MyType myDataValue;
 private TextBox textBoxName;
 private void InitializeComponent( )
 {
  textBoxName.Text = myDataValue.Name;
  this.textBoxName.Leave += new
   System.EventHandler( this.OnLeave );
 }
 private void OnLeave( object sender, System.EventArgs e )
 {
  myDataValue.Name = textBoxName.Text;
 }
}

  这太简单了,正如你知道的,重复代码。之所以不喜欢这样重复代码,就是因为应该有更好的方法。是的,.Net框架支持数据绑定,它可以把一个对象的属性映射到控件的属性上:

textBoxName.DataBindings.Add ( "Text",myDataValue, "Name" );

  上面的代码就把textBoxName控件的“Text”属性上绑定了MyDataValue对象的"Name"属性。在内部有两个对象,绑定管理(BindingManager)和流通管理(CurrencyManager), 实现了在控件与数据源之间的传输实现。你很可能已经见过为种结构的例子,特别是在DataSet和DataGrid之间的。你也很可能已经做过数据绑定的例子。你很可能只在表面上简单的使用过从数据绑定上得到的功能。你可以通过高效的数据绑定避免写重复的代码。

  关于数据绑定的完整处理方案可能至少要花上一本书来说明,要不就是两本。Windows应用程序和Web应用程序同时都支持数据绑定。比写一个完整的数据绑定论述要强的是,我确实想让你记住数据绑定的核心好处。首先,使用数据绑定比你自己写代码要简单得多。其次,你应该在对文字元素通过属性来显示时,尽可能的使用它,它可以很好的绑定。第三,在Windows窗体中,可以同步的对绑定在多控件上的数据,进行相关数据源的检测。

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明