2016-08-24 14 views
1

私はこの質問が存在することを知っていますが、私は答えの解決策を見つけることができません。一方向バインディング

フォームを変更するときにカスタムクラスが通知されるように(逆は起こりません)、カスタムクラスへのデータバインディングを持つフォームがあります。

myForm.DataBindings.Add("Items", ItemsController.Singleton, "Items", false, 
         DataSourceUpdateMode.OnPropertyChanged); 

今何が起こっていることである私は、フォームのインスタンスを作成して、いくつかの値でItemsプロパティを設定すると、データバインディングItemsControllerのItemsプロパティをチェックし、それを更新し、バック0アイテムとフォームへ私は一方向のデータバインディングを使用しないようにしたいと考えています。

イベントのみに依存する必要はありますか?

+0

を伝播される際に取得または設定しますDataSourceからFormコントロールへの方向のみ。 – Fabio

+0

フォームコントロールからカスタムクラス – miguelmpn

+0

カスタムクラス 'Items'プロパティにアイテムを設定できないのはなぜですか?そしてカスタムクラスに 'INotifyPropertyChanged'インターフェースを実装することを忘れないでください。 – Fabio

答えて

2

あなたがBinding.ControlUpdateMode財産を求めているように見える:

は、更新を意味するデータソースへの変更がバウンドコントロールのプロパティに「一方向」をデータバインディングで

myForm.DataBindings.Add(new Binding("Items", ItemsController.Singleton, "Items") 
{ 
    DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged, 
    ControlUpdateMode = ControlUpdateMode.Never 
}); 
関連する問題