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 값 중 하나입니다. 기본값은 OneWay입니다. 원본은 대상을 업데이트하지만 대상 값으로 변경하면 원본이 업데이트되지 않습니다.

예제

이 예제에서는 XAML에서 바인딩 모드를 설정하는 방법을 보여 줍니다.

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

설명

OneWayTwoWay 바인딩의 경우 원본의 일부 지원을 제공하지 않고 원본에 대한 동적 변경 내용이 대상에 자동으로 전파되지 않습니다. 원본이 바인딩 엔진이 수신 대기하는 이벤트를 통해 변경 내용을 보고할 수 있도록 원본 개체에 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를 호출하여 소스에 대한 업데이트를 명시적으로 제어합니다.

OneTimeOneWay 바인딩의 경우 DependencyObject.SetValue에 대한 호출은 자동으로 대상 값을 변경하고 바인딩을 삭제합니다.

해당 바인딩이 대상 요소 및 대상 속성에 연결된 후에는 Binding 개체의 속성 값을 설정할 수 없습니다. 이 작업을 시도하면 런타임 예외가 발생합니다.

적용 대상

추가 정보