2013-02-22 59 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 2013-02-22 14:37:09

回答

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属性。

看看这些,花点时间了解这些概念,如果您有任何问题,请回来。在一个新的问题,当然:)

快乐的学习!

相关问题