Binding 이란 data, 혹은 property 를 서로 연결하여 서로 동적으로 변환 및 참조할 수 있도록 한다.

즉, 한 엘리먼트의 프로퍼티를 다른 엘리먼트의 프로퍼티, 혹은 데이터와 연결하는 과정이다.


바인딩을 통해 쉽게 서로 값들을 참조하여 동적으로 변경시킬 수 있고, 긴 처리 없이 간단하게 리스트에 DataTable 을  표시하는 등 장점이 많기 때문에 WPF로 작업할 때 바인딩은 필수적으로 사용한다.


바인딩 모드는 OneTime, OneWay, OneWayToSource, TwoWay 의 4가지가 존재한다.

OneTime : 최초 한번만 값을 전달

OneWay : A를 B에 바인딩했다면, B의 값이 변경되면 A의 값도 변경. 하지만 A의 값이 변경되었을 시 B의 값은 변경되지 않음

OneWayToSource : OneWay와 반대.(A와 B의 방향이 반대)

TwoWay : 하나가 변경되면 다른 하나도 따라서 변경됨


바인딩 하는 방법은 1. xaml 측에서 하는 방법. 2. code-behind(C#측) 에서 하는 방법 모두 가능하다.

1. xaml 측에서 하는 방법

<TextBlock x:Name="myText">sample text</TextBlock>

<TextBlock Text="{Binding Text, ElementName=myText, BindingMode=TwoWay}/>


2. c# 측에서 하는 방법

BindingOperations.SetBinding(myElement, myElement.WidthProperty, new Binding { Source = targetElement, Path = new PropertyPath("Width"), Mode = BindingMode.TwoWay });


위와 같은 방법으로 바인딩을 할 수 있다.


출처 : Jang's Blog (Dev & IT) _ WPF, Web, C#


'프로그래밍 > WPF' 카테고리의 다른 글

[WPF] KeyDown Event  (0) 2013.08.30
[WPF] Binding Property  (0) 2013.08.02
[WPF] Dynamic Resource & Static Resource  (0) 2013.05.21
[WPF] WrapPanel & DockPanel  (0) 2013.05.15
[WPF] StackPanel  (0) 2013.05.15