Top > Programming > .NetFramework > WPF > Binding > CautionAboutBindingModeDefault
Last-modified: Tue, 23 Apr 2013 14:34:22 JST
Counter:1648 Today:1 Yesterday:0 Online:1
このエントリーをはてなブックマークに追加

BindingMode.Defaultに注意する

About / Why

Bindingを設定する際に、Bindingによって管理される値が、変更される方向をBinding.Modeプロパティによって設定することができます。Bindingされた片側の変更のみを適用する場合にはOneWayを、両側からの変更を適用するにはTwoWayを利用します。

このとき、Binding.Modeプロパティは初期値がDefaultとなっています。DefaultはBindingされる値の種類によって、適切なBindingModeに自動的に切り替えられるように設定する値です。一般的な値型の値が与えられている場合には、DefaultはTwoWayとなりますが、そうでない場合があります。たとえばFileInfo型の値などは、DefaultのときにTwoWayが設定されないことを確認しています(.Net4.5時点)。

与えられる値の型やその用途が明確になっている場合には、BindingModeをOneWayないしTwoWayなどに任意に設定するほうが、不具合が発生しにくい、ということです。Defaultの値がTwoWayだと思い込んで実装を進めると、ある値がDefault設定によってOneWayに設定された際に、その不具合の発見が遅れる可能性があるためです。