WPF를 공부하기 시작했습니다.
이번 포스트에서는 Binding Converter에 대해 정리해보겠습니다.
Reference site
https://docs.microsoft.com/ko-kr/dotnet/framework/wpf/data/how-to-convert-bound-data
Sample Code
https://github.com/microsoft/WPF-Samples/tree/master/Data%20Binding/BindConversion
바인딩 컨버터는 간단히 바인딩되어있는 관계에서
source -> convert -> target
중간 데이터를 처리해줍니다.
어떻게 사용하느냐에 따라 용도는 굉장히 다양해집니다. 특정값 범위에 있을 때 Boolean이 True가 되거나 False가 되는 형태로도 할 수 있고 값을 보간하는 효과도 가질 수 있습니다.
아래 코드 샘플은 Microsoft WPF Sample코드입니다. 사용자 정의 Converter를 생성해서 바인딩에 이용하고 있습니다.
<StackPanel Width="300" Height="300" Name="Page1">
<StackPanel.Resources>
<local:MyData x:Key="MyDataSource"/>
<local:MyConverter x:Key="MyConverterReference"/>
</StackPanel.Resources>
<StackPanel.DataContext>
<Binding Source="{StaticResource MyDataSource}"/>
</StackPanel.DataContext>
<TextBlock Name="myconvertedtext"
Foreground="{Binding Path=TheDate,
Converter={StaticResource MyConverterReference}}">
</TextBlock>
</StackPanel>
다른 코드는 모두 잘라내고 converter가 쓰이는 부분만 보여줬습니다.
Converter를 XAML상에서 선언하고 값에 따라 TextBlock의 글자색이 다르게 보이는
기능을 구현한 부분입니다.