Default
TextBoxやCheckBoxなど双方向が必要そうなやつの場合はTwoWay
TextBlockなど読み取りだけで済みそうなやつの場合はOneWay
OneTime
最初の1回だけ値を取得する
OneWay
データが更新されるとコントロールの値が更新される
コントロールが値を変えてもデータは更新されない
OneWayToSource
コントロールが値を更新するとデータが更新される
データを更新してもコントロールは更新されない
TwoWay
データが更新されるとコントロールの値が更新される
コントロールが値を更新するとデータが更新される
既存のコントロールであれば、Defaultが適切なモードとなっているのであまり意識する必要が無い。
但し、自分でコントロールを作成する場合など、どのような動きをするコントロールなのかを考えて適切なモードをDefault値として設定する必要がある。
明示的にモードを指定する場合は以下のようになる。
<TextBox Text="{Binding Path=SampleText,Mode=OneWay}"/>
{Binding SampleText}のように書くことが多いがこれは「Path=」を省略している書き方。
「○○○=」を指定する事で、Bindingクラスが持ついろいろなプロパティの値を変更する事が出来る。
複数のプロパティをセットする時は「○○○=」でプロパティ名を明示しつつカンマ区切りで列挙する。
ちなみに、上の例ではModeをOneWayにしているので、TextBoxに値を入力してもバインドしたデータは書き変わらなくなってしまう。
コメントをお書きください