Binding.Mode プロパティ

定義

バインドのデータ フローの方向を示す値を取得または設定します。

public:
 property BindingMode Mode { BindingMode get(); void set(BindingMode value); };
BindingMode Mode();

void Mode(BindingMode value);
public BindingMode Mode { get; set; }
var bindingMode = binding.mode;
binding.mode = bindingMode;
Public Property Mode As BindingMode
<Binding Mode="bindingModeMemberName"/>

プロパティ値

BindingMode 値の 1 つ。 既定値は OneWay です。ソースはターゲットを更新しますが、ターゲット値を変更した場合、ソースは更新されません。

この例では、XAML でバインド モードを設定する方法を示します。

<TextBox x:Name="MyTextBox" Text="Text" Foreground="{Binding Brush1, Mode=OneWay}"/>

注釈

OneWay および TwoWay バインドの場合、ソースに対する動的な変更は、ソースからのサポートを提供せずにターゲットに自動的に反映されません。 ソース オブジェクトに INotifyPropertyChanged インターフェイスを実装して、バインディング エンジンがリッスンするイベントを通じてソースが変更を報告できるようにする必要があります。 C# または Microsoft Visual Basic の場合は、 System.ComponentModel.INotifyPropertyChanged を実装します。 Visual C++ コンポーネント拡張機能 (C++/CX) の場合は、 Windows::UI::Xaml::D ata::INotifyPropertyChanged を実装します

TwoWay バインドの場合、ターゲットへの変更は、バインディング ターゲットが TextBox.Text プロパティである場合を除き、ソースに自動的に反映されます。 その場合、 更新は TextBox がフォーカスを失った場合にのみ行われます。 また、TwoWay バインドの UpdateSourceTriggerExplicit に設定することもできます。その場合は、UpdateSource を呼び出してソースの更新を明示的に制御します。

OneTime バインドと OneWay バインドの場合、DependencyObject.SetValue の呼び出しによってターゲット値が自動的に変更され、バインドが削除されます。

バインドがターゲット要素とターゲット プロパティにアタッチされた後は、 Binding オブジェクトのプロパティ値を設定できません。 これを試みると、実行時の例外が発生します。

適用対象

こちらもご覧ください