次の方法で共有


BindingMode 列挙型

定義

バインド内のデータ フローの方向を指定します。

public enum class BindingMode
public enum BindingMode
type BindingMode = 
Public Enum BindingMode
継承
BindingMode

フィールド

名前 説明
Default 0

ターゲット プロパティの既定のバインド モードを使用します。

TwoWay 1

いずれかの変更時にターゲットとソースの両方を更新します。

OneWay 2

ソースが変更されたときにターゲットを更新します。

OneWayToSource 3

ターゲットが変更されたときにソースを更新します。

OneTime 4

バインディングの作成時にターゲットを 1 回だけ更新します。

注釈

次の例では、BindingMode のユース ケースをいくつか示します。

public class PersonViewModel
{
  public string Name { get; set; }
  public string Company { get; set; }
}

Label label;
PersonViewModel viewmodel;

//BindingMode.OneWay
label = new Label ();
label.BindingContext = viewmodel = new PersonViewModel ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name, mode: BindingMode.OneWay);

viewmodel.Name = "John Doe";
Debug.WriteLine (label.Text); //prints ""
label.Text = "Foo";
Debug.WriteLine (viewmodel.Name); //prints "John Doe"


//BindingMode.TwoWay
label = new Label ();
label.BindingContext = viewmodel = new PersonViewModel ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name, mode: BindingMode.TwoWay);

viewmodel.Name = "John Doe";
Debug.WriteLine (label.Text); //prints "John Doe"
label.Text = "Foo";
Debug.WriteLine (viewmodel.Name); //prints "Foo"


//BindingMode.OneWayToSource
label = new Label ();
label.BindingContext = viewmodel = new PersonViewModel ();
label.SetBinding<PersonViewModel> (Label.TextProperty, vm => vm.Name, mode: BindingMode.OneWayToSource);

viewmodel.Name = "John Doe";
Debug.WriteLine (label.Text); //prints ""
label.Text = "Foo";
Debug.WriteLine (viewmodel.Name); //prints "Foo"

適用対象