方法: バインディングの方向を指定する

この例では、バインドの更新先 (バインディング ターゲット (ターゲット) のプロパティのみ、バインディング ソース (ソース) のプロパティのみ、またはターゲットのプロパティとソースのプロパティの両方) を指定する方法を示します。

バインディングの方向を指定するには、Binding.Mode プロパティを使用します。 バインディングの更新に使用できるオプションを次に示します。

  • BindingMode.TwoWay: ターゲットのプロパティまたはソースのプロパティのいずれかが変更されるたびに、ターゲットのプロパティまたはソースのプロパティを更新します。

  • BindingMode.OneWay: ソースのプロパティが変更された場合にのみ、ターゲットのプロパティを更新します。

  • BindingMode.OneTime では、アプリケーションが開始されたとき、または DataContext が変更されたときに、ターゲットのプロパティだけが更新されます。

  • BindingMode.OneWayToSource では、ターゲットのプロパティが変更されると、ソースのプロパティが更新されます。

  • BindingMode.Default では、ターゲットのプロパティの既定の Mode 値が使用されます。

詳細については、BindingMode 列挙型のページをご覧ください。

Mode プロパティを設定する方法を次の例に示します。

<TextBlock Name="IncomeText" Grid.Row="0" Grid.Column="1"
  Text="{Binding Path=TotalIncome, Mode=OneTime}"/>

ソースの変更を検出するには (OneWay および TwoWay バインディングに適用)、ソースに INotifyPropertyChanged などの適切なプロパティ変更通知メカニズムを実装する必要があります。 INotifyPropertyChanged の実装の例については、「プロパティの変更通知を実装する」を参照してください。

TwoWay または OneWayToSource バインディングの場合は、UpdateSourceTrigger プロパティを設定することによって、ソースの更新のタイミングを制御できます。 詳細については、「UpdateSourceTrigger」を参照してください。

関連項目