Binding 클래스

정의

바인딩 대상 및 데이터 원본의 속성을 연결하는 바인딩을 정의합니다.

UWP용 동등한 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Binding : BindingBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Binding : BindingBase
Public Class Binding
Inherits BindingBase
<Binding .../>
- or -
<dependencyobject dependencyproperty="{Binding bindingArgs}" />
상속
Object IInspectable DependencyObject BindingBase Binding
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

예제

다음 코드 예제에서는 XAML에서 바인딩을 만드는 방법을 보여 줍니다. 전체 코드 목록은 XAML 데이터 바인딩 샘플을 참조하세요.

<StackPanel Margin="5">

  <TextBlock Text="Name:" Style="{StaticResource DescriptionTextStyle}" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <TextBox Text="{Binding Path=Name, Mode=TwoWay}" 
    Width="350" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <TextBlock Text="Organization:" Style="{StaticResource DescriptionTextStyle}" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

  <!-- You can omit the 'Path=' portion of the binding expression. --> 
  <TextBox Text="{Binding Organization, Mode=TwoWay}" Width="350" 
    Margin="5" HorizontalAlignment="Left" VerticalAlignment="Top"/>

</StackPanel>

다음 예제 코드에서는 코드에서 바인딩을 만드는 방법을 보여 줍니다.

// Create the source string.
string s = "Hello";

// Create the binding description.
Binding b = new Binding();
b.Mode = BindingMode.OneTime;
b.Source = s;

// Attach the binding to the target.
TextBlock MyText = new TextBlock();
MyText.SetBinding(TextBlock.TextProperty, b);
// Create the source string.
String^ s = ref new String(L"Hello");

// Create the binding description.
Binding^ b = ref new Binding();
b->Mode = BindingMode::OneTime;
b->Source = s;

// Attach the binding to the target.
TextBlock^ MyText = ref new TextBlock();
MyText->SetBinding(MyText->TextProperty, b);
'Create the source string 
Dim s As String = "Hello"

'Create the binding description 
Dim b As New Binding()
b.Mode = BindingMode.OneTime
b.Source = s

'Attach the binding to the target 
Dim MyText As New TextBlock()
MyText.SetBinding(TextBlock.TextProperty, b)

설명

{Binding} 태그 확장을 사용하면 바인딩 속성과 같은 설정을 포함하여 XAML에서 바인딩 값을 단일 특성 문자열로 Path Source지정할 수 있습니다. 데이터 바인딩 개념에 대한 자세한 내용은 데이터 바인딩을 자세히 참조하세요.

Binding 클래스는 {Binding} 태그 확장의 코드 숨김 노출로 간주될 수 있습니다. 바인딩이 대상에 이미 적용되어 있는 경우(XAML이 로드될 때 발생) 바인딩 개체의 읽기-쓰기 속성을 설정하여 런타임에 바인딩이 동작하는 방식을 변경할 수 없습니다. 모든 XAML 정의 바인딩은 변경할 수 없는 것으로 간주되어야 합니다. 그러나 새 Binding 개체를 만들고, 해당 속성을 설정하고, 특정 UI 요소 대상에서 새 바인딩을 설정할 수 있습니다 FrameworkElement.SetBinding. 자세한 내용은 코드에서 바인딩 만들기를 참조하세요.

Binding 개체는 데이터 개체에 FrameworkElement 대한 업데이트가 데이터 바인딩을 사용하는 속성에 자동으로 전파되도록 데이터 개체에 직접 종속성 속성을 연결합니다. Binding 클래스는 바인딩의 속성을 정의합니다. 각 바인딩에는 대상 요소, 대상 속성 및 데이터 원본이 있어야 하지만 일부 값은 기본적으로 지정하지 않으면 제공됩니다.

데이터 개체의 속성 또는 하위 속성에 바인딩하려면 Binding 개체의 속성을 설정합니다 Path . 코드 또는 XAML에서 설정하는 Path 방법에 대한 자세한 내용은 속성 경로 구문 또는 {Binding} 태그 확장을 참조하세요.

바인딩 클래스의 인스턴스를 여러 대상에 적용할 수 있습니다. 그러나 대상 요소에 연결한 후에는 Binding 개체의 속성 값을 수정할 수 없습니다.

참고

메서드를 FrameworkElement.SetBinding 호출하고 새 Binding 개체를 전달해도 기존 바인딩이 반드시 제거되는 것은 아닙니다. 대신 메서드를 DependencyObject.ClearValue 사용해야 합니다.

바인딩을 사용할 수 있거나 데이터 바인딩된 값으로 설정할 수 있는 속성에 대한 XAML 특성 사용에 대한 자세한 내용은 {Binding} 태그 확장을 참조하세요.

데이터 바인딩의 대상인 속성은 종속성 속성이어야 합니다. 자세한 내용은 종속성 속성 개요를 참조하세요.

생성자

Binding()

Binding 클래스의 새 인스턴스를 초기화합니다.

속성

Converter

원본과 대상 간에 전달될 때 데이터를 수정하기 위해 바인딩 엔진에서 호출하는 변환기 개체를 가져오거나 설정하거나 그 반대로 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.Converter(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

ConverterLanguage

속성에서 지정한 변환기에서 전달할 언어의 이름을 지정 Converter 하는 값을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.ConverterLanguage(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

ConverterParameter

논리에서 사용할 수 있는 매개 변수를 Converter 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.ConverterParameter(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

Dispatcher

이 개체가 CoreDispatcher 연결된 개체를 가져옵니다. 코드 CoreDispatcher 가 비 UI 스레드에서 시작되는 경우에도 UI 스레드에 액세스할 DependencyObject 수 있는 기능을 나타냅니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.Dispatcher(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
ElementName

에 대한 Binding바인딩 소스로 사용할 요소의 이름을 가져오거나 설정합니다.

UWP용 동등한 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.ElementName(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

FallbackValue

바인딩에서 값을 반환할 수 없는 경우 사용할 값을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.FallbackValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

Mode

바인딩에서 데이터 흐름의 방향을 나타내는 값을 가져오거나 설정합니다.

UWP용 동등한 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.Mode(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

Path

바인딩 소스 속성의 경로를 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.Path(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

RelativeSource

바인딩 대상의 위치를 기준으로 해당 위치를 지정하여 바인딩 소스를 가져오거나 설정합니다. 이는 XAML 컨트롤 템플릿 내에서 바인딩에 가장 자주 사용됩니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.RelativeSource(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

Source

바인딩에 대한 데이터 원본을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.Source(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

TargetNullValue

원본 값이 null 일 때 대상에서 사용되는 값을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.TargetNullValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

UpdateSourceTrigger

양방향 바인딩에 대한 바인딩 소스 업데이트의 타이밍을 결정하는 값을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Data.Binding.UpdateSourceTrigger(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

메서드

ClearValue(DependencyProperty)

종속성 속성의 로컬 값을 지웁니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.ClearValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

애니메이션이 활성화되지 않은 경우에 적용되는 종속성 속성에 대해 설정된 기본 값을 반환합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.GetAnimationBaseValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
GetValue(DependencyProperty)

에서 종속성 속성 DependencyObject의 현재 유효 값을 반환합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.GetValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
ReadLocalValue(DependencyProperty)

로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.ReadLocalValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

DependencyObject 인스턴스의 특정 DependencyProperty 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.RegisterPropertyChangedCallback(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
SetValue(DependencyProperty, Object)

에 종속성 속성 DependencyObject의 로컬 값을 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.SetValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

를 호출 RegisterPropertyChangedCallback하여 이전에 등록한 변경 알림을 취소합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.UnregisterPropertyChangedCallback(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)

적용 대상

추가 정보