如何在C#中进行数据绑定?

时间:2020-03-06 14:32:37  来源:igfitidea点击:

我有以下课程

public class Car
{
   public Name {get; set;}
}

我想以编程方式将此绑定到文本框。

我怎么做?

在黑暗中拍摄:

...
Car car = new Car();
TextEdit editBox = new TextEdit();
editBox.DataBinding.Add("Name", car, "Car - Name");
...

我收到以下错误

"Cannot bind to the propery 'Name' on the target control.

我在做什么错,我应该怎么做?我发现数据绑定的概念由于Web开发而难以掌握。

解决方案

不看语法,我很确定它是:

editBox.DataBinding.Add("Text", car, "Name");

我们试图绑定到TextEdit控件的"名称"。该名称用于通过编程方式访问控件,并且不能被绑定。我们应该绑定控件的Text。

你要

editBox.DataBindings.Add("Text", car, "Name");

第一个参数是要绑定数据的控件上属性的名称,第二个参数是数据源,第三个参数是要绑定到的数据源上的属性。

尝试:

editBox.DataBinding.Add( "Text", car", "Name" );

我相信

editBox.DataBindings.Add(new Binding(" Text",car," Name"));

应该可以。没有尝试过,但是我认为就是这个主意。

editBox.DataBinding.Add("Text", car, "Name");

第一个arg是控件属性的名称,第二个是要绑定的对象,最后一个是要用作数据源的对象属性的名称。

我们已经很接近数据绑定行了

editBox.DataBinding.Add("Text", car, "Name");

第一个参数是将与数据绑定的editbox对象的属性。第二个参数是要绑定到的数据源,最后一个参数是要绑定到的数据源的属性。

请记住,数据绑定是一种方法,因此,如果我们更改编辑框,那么汽车对象将被更新,但是如果我们直接更改汽车名称,则编辑框不会被更新。