Привязка данных в C # и .NET - PullRequest
       14

Привязка данных в C # и .NET

11 голосов
/ 16 января 2009

Я довольно новичок в C # и .NET и немного борюсь со всей концепцией привязки данных. То, о чем я прошу, - это краткое изложение концепции, или, что еще лучше, указать мне на источники в сети (предпочтительно) или в печатном виде, которые могут помочь мне разобраться в идее.

EDIT:

Я занимаюсь разработкой в ​​vs2008, и мы используем winforms

Ответы [ 2 ]

15 голосов
/ 16 января 2009

Ну, какую архитектуру вы используете? WinForms? asp.net? МОФ

Высокий уровень - это если у вас есть такие объекты, как:

public class Person {
    public string Name {get;set;}
    public DateTime DateOfBirth {get;set;}
}

Затем вы можете заставить механизм связывания выполнять всю тяжелую работу, и вы просто говорите, что хотите связать - например (winforms):

txtName.DataBindings.Add("Text", person, "Name");

Устанавливает свойство Text текстового поля на основе имени человека и может обновлять имя человека, когда пользователь изменяет текст.

Связывание с несколькими записями более сложное и основано на IList в winforms / wpf и IEunmerable в ASP.NET; это позволяет вам связывать несколько записей (например, в сетку). Если в списке представлены дополнительные функции (сортировка, фильтрация и т. Д. Через IBindingList, IBindingListView и т. Д.), Возможно, будут доступны дополнительные функции.

Привязка также позволяет использовать «наблюдателя» - то есть уведомление об изменении: если вы косвенно измените Имя человека, текстовое поле будет автоматически обновлено. Это зависит от событий - либо в форме public event EventHandler NameChanged;, либо (чаще сейчас) через событие INotifyPropertyChanged (позволяя одному событию уведомлять о нескольких свойствах).

Некоторые списки (например, BindingList<T>, DataView) имеют похожие циклы уведомлений.

2 голосов
/ 16 января 2009

Концепция привязки данных довольно проста; Это позволяет вам «привязать» данные, содержащиеся в объекте, к визуальному элементу управления. Этот элемент управления отображает ваши данные. Когда пользователь изменяет значение, отображаемое элементом управления, изменения автоматически сохраняются в базовом объекте. И наоборот, когда кто-то изменяет данные в объекте, элемент управления может отображать самое новое значение.

http://msdn.microsoft.com/en-us/library/ms752347.aspx http://www.akadia.com/services/dotnet_databinding.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...