다음을 통해 공유


BindingMode 열거형

정의

바인딩에서 데이터 흐름의 방향을 지정합니다.

public enum class BindingMode
public enum BindingMode
type BindingMode = 
Public Enum BindingMode
상속
BindingMode

필드

Name Description
Default 0

대상 속성에 대한 기본 바인딩 모드를 사용합니다.

TwoWay 1

둘 중 하나가 변경되면 대상과 원본을 모두 업데이트합니다.

OneWay 2

원본이 변경되면 대상을 업데이트합니다.

OneWayToSource 3

대상이 변경되면 원본을 업데이트합니다.

OneTime 4

바인딩을 만들 때 대상을 한 번만 업데이트합니다.

설명

다음 예제에서는 일부 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"

적용 대상