2013-02-22 4 views
0

Могу ли я сопоставить или автоматизировать объект с формой и формой с объектом? У меня есть следующий код:Сопоставление настраиваемого объекта с формами

// Class model 
class Model1 
{ 
    Property1; 
    Property2; 
    Property3; 
    ... 
} 

// Form. I use this form to create and update data of Model1 
public partial class FormModel1 : Form 
{ 
    private Model1 model1; 
    ... 

    private void LoadData() 
    { 
     Property1Txt.Text = model1.Property1; 
     Property2Txt.Text = model1.Property2; 
     Property3Txt.Text = model1.Property3; 
    } 

    private void SaveButton_Click(object sender, EventArgs e) 
    { 
     model1.Property1 = Property1Txt.Text; 
     model1.Property2 = Property2Txt.Text; 
     model1.Property3 = Property3Txt.Text; 

     model1.Save(); 
    } 
} 

Обратите внимание, что я упростил пример. Я хочу установить данные из моей модели в форму и из формы в мою модель динамически.

Как я могу это сделать?

+1

property1Txt.DataBindings.Add ("Текст", Model1, "property1"); – Sayse

ответ

1

Вы можете осуществлять привязку данных следующим образом

property1Txt.DataBindings.Add("Text", model1, "Property1"); 

Чтобы это изменение текстового поля, когда свойство изменяется также необходимо реализовать inotifypropertychanged. См. http://msdn.microsoft.com/en-us/library/ms743695.aspx.

, то вам нужно будет использовать

property1Txt.DataBindings.Add("Text", model1, "Property1", false, DataSourceUpdateMode.OnPropertyChanged); 
1

Один из способов сделать это можно с помощью Reflection.

Другим способом, является использование элементов управления DataBindings.

Взгляните на них, не торопитесь, чтобы понять концепции и вернуться, если у вас есть какие-либо вопросы. В новом вопросе, конечно :)

Счастливое обучение!

Смежные вопросы