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(); 
    }
}

请注意,我已经简化了示例。我想将数据从我的模型设置到表单,从表单设置到我的模型。

我怎样才能做到这一点?

4

2 回答 2

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 ); 
于 2013-02-22T14:48:54.933 回答
1

实现此目的的一种方法是使用Reflection

另一种方法是使用控件的DataBindings属性。

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

快乐学习!

于 2013-02-22T14:37:15.220 回答