更改实例时保留数据绑定

时间:2013-03-19 08:32:59

标签: c# winforms data-binding

当创建该变量的新实例时,是否可以保留变量的数据绑定?

我所拥有的是一种将所有用户输入存储在winform应用程序中的设计,因此可以通过xml存储/加载这些值。我发现的是当我将设计重新加载到我的程序中时,数据绑定会随着变量的新实例的创建而丢失。到目前为止,我已经设法通过使用反射将数据的新值复制到当前数据绑定的实例上,但这只能达到一个深度级别。

示例xml文件:

<design>
   <level1>
      <myRadioButton>true</myRadioButton>//This value is copied onto the 
                                         //data bound object
   </level1>
<level1>
   <level2>
       <myRadioButton>true</myRadioButton>//This value is not as a new instance
                   // of level2 is made removing the data binding instance object
   </level2>
<level1>
</design>

示例数据绑定:

radioButton.DataBindings.Add("Checked",Instances.Variables.Design.Level1,
                "myRadioButton", false,DataSourceUpdateMode.OnPropertyChanged);
radioButton.DataBindings.Add("Checked",Instances.Variables.Design.Level1.Level2, 
               "myRadioButton", false, DataSourceUpdateMode.OnPropertyChanged);

如果需要任何其他代码示例,请询问

1 个答案:

答案 0 :(得分:1)

您可以检查表单上所有控件的数据绑定。如果当前数据源是旧的xml-objects,则删除数据绑定,并添加一个具有相同参数的新数据绑定,除非它应该使用新的xml-objects。

基本上&#39;刷新&#39;所有必要的数据绑定,删除当前的数据绑定,并添加一个新数据绑定。