C# 更改实例时保留数据绑定

C# 更改实例时保留数据绑定,c#,winforms,data-binding,C#,Winforms,Data Binding,在创建变量的新实例时,是否可以保留该变量的数据绑定 我的设计是将所有用户输入存储在winform应用程序中,以便通过xml存储/加载这些值。我发现,当我将设计重新加载到程序中时,数据绑定会随着变量的新实例的创建而丢失。到目前为止,我通过使用反射将数据的新值复制到当前数据绑定的实例上,但这只在一个深度上起作用 示例xml文件: <design> <level1> <myRadioButton>true</myRadioButton>

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

我的设计是将所有用户输入存储在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>

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

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


基本上,通过删除当前控件并添加新控件来“刷新”所有必要的数据绑定。

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


基本上是通过删除当前的数据绑定并添加新的数据绑定来“刷新”所有必要的数据绑定。

Ah那么基本上你是说在我重新加载设计后调用我所有的数据绑定方法?(我假设我的数据绑定在实例被删除时已经被删除了)@Sayse不确定“实例”是什么意思,但通常情况下,不会自动删除数据绑定。如果“instance”是指您的数据源,那么不,您的实例可能会从存储它的位置删除,但它仍然在内存中,并由数据绑定引用。您必须手动删除数据绑定。好的,我明白,是的,这就是我所指的实例。我会在下个小时内尝试你的建议并接受你的回答。谢谢基本上你是说在我重新加载设计后调用我所有的数据绑定方法?(我假设我的数据绑定在实例被删除时已经被删除了)@Sayse不确定“实例”是什么意思,但通常情况下,不会自动删除数据绑定。如果“instance”是指您的数据源,那么不,您的实例可能会从存储它的位置删除,但它仍然在内存中,并由数据绑定引用。您必须手动删除数据绑定。好的,我明白,是的,这就是我所指的实例。我会在下个小时内尝试你的建议并接受你的回答。谢谢
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);