바인딩을 하는데 있어, 때로는 연산이 필요한 경우가 있다.

예를 들면 바인딩할 때 문자열 뒤에 단위를 붙이고 싶다거나, 또는 bool 값을 Visibility 속성으로(true 일 경우 Visible, false 일 경우 Collapsed 로 각각 변환) 변환하려고 한다던지 할 때 컨버터(Converter)를 사용하면 쉽게 해결할 수 있다.


컨버터는 IValueConverter 를 상속받아 만든다. Convert() 함수와 ConvertBack() 함수를 만들면 되는데, 간단한 예제 코드를 통해 알아보자.


이름에서 알 수 있듯이 Boolean 값을 Visibility 값으로 변경하는 컨버터이다. 변환하고자 하는 로직을 Convert 함수 내부에 구현하고 그 값을 return 해주면 된다.


적용은 다음과 같이 하면 된다.

아래의 코드는 토글버튼(Toggle Button)이 체크되었을 때 해당 DockPanel 엘리먼트의 Visibility 속성을 변경하는 예제이다.

<DockPanel Visibility="{Binding IsChecked, ElementName=myToggleButton, Converter={StaticResource BooleanToVisibilityConverter}}">




+ Recent posts