본문 바로가기
프로그래밍/WPF

[WPF] 멀티바인딩

멀티바인딩

 

그냥 바인딩과 달리 여러개의 컨트롤에서 값을 땡겨와야할 경우

 

위 데모는 SUM이 A와 B와 C의 Text속성을 바인딩함

 

tb_A, tb_B, tb_C라는 이름을 가진 TextBlock을 만들어 주고

 

MultiBinding을 넣어준다.

 

Converter 속성엔 컨버터를 만들어 준다.

 

 

 

Xaml에서 쓸수 있게하는 방법은

클래스를 만들고

윈도우 리소스에 추가 후 {StaticResource 키값} 으로 불러오면 됨.

 

 

 

컨버터 소스

해당 컨버터는 멀티 바인딩 컨버터이며 IMultiValueConverter 인터페이스를 구현해주어야 한다.

 

Convert 함수에서 멀티 바인딩의 바인딩한 순서로 object 배열로 들어오게 된다.

(가령

<MultiBinding> 

   <Binding A />

   <Binding C />

   <Binding B />

</MultiBinding

와 같이 작성 되었으면 values는  obejct[] { "A", "C", "B" } 순서로 들ㅇㅓ온다.

 

이걸로 지지고 볶으면 끝

 

 

ConvertBack은 나도 이번 예제로 처음 써봤는데

 

마찬가지로 순서대로 object 배열을 넘겨주면 알아서 집어넣는다.

 


 

MultiBinding.zip
0.66MB