BindingMode 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
바인딩에서 데이터 흐름의 방향을 지정합니다.
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"