1

その変数の新しいインスタンスが作成されたときに、変数のデータバインディングを保持することは可能ですか?

私が持っているのは、すべてのユーザー入力を winform アプリケーションに保存する設計で、これらの値を 経由で保存/ロードできますxml。私が見つけたのは、デザインをプログラムに再読み込みすると、変数の新しいインスタンスが作成されるため、データ バインディングが失われることです。リフレクションを使用して、データの新しい値を現在データにバインドされているインスタンスにコピーすることで、これまでのところうまくいきますが、これは 1 レベルの深さまでしか機能しません。

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

他のコード例が必要な場合は、お問い合わせください

4

1 に答える 1

1

フォーム上のすべてのコントロールのデータバインディングを確認できます。現在のデータソースが古い xml-objects である場合は、データ バインディングを削除し、新しい xml-objects を使用する必要があることを除いて、同じパラメーターで新しいデータ バインディングを追加します。

基本的に、現在のデータバインディングを削除して新しいデータバインディングを追加することにより、必要なすべてのデータバインディングを「更新」します。

于 2013-03-19T08:39:49.127 に答える