ConverterParameter를 사용하면 Converter를 만드는일을 줄일수 있다.
만약 20120223 이라는 Date를
각각 텍스트블럭에 2012년 02월 23일 처럼 넣고 싶은데 한번에 넣을수도 있지만 년월일이 색상이나 크기가 다를때는
택스트 블럭을 각각 만들어 넣어야 한다.
그렇다면 이것을 각각 YearConverter,MonthConverter,DayConverter 이렇게 3개의 컨버터를 만들어서 해야 하는가?
물론 가능하지만 엄청 귀찮은 일이 될것이다.
그럴때 paramter를 쓰면 편하다.
object형이라서 아무거나 넣을수 있지만 string같은경우는 “” 이렇게 따옴표로 묶을수 있는데 따옴표는 쓰면 안된다.
꼭 ‘’ 로 묶자
<TextBlock TextWrapping="Wrap" Text="{Binding h_dpt_dt, Converter={StaticResource YearConverter},ConverterParameter='Year'}" Foreground="Black" HorizontalAlignment="Left" Margin="10,0,0,0" FontWeight="Bold" VerticalAlignment="Bottom"/>
이렇게 사용하면 된다.
Converter에서는
public class DateCropConverter :IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value == null) return string.Empty; if (parameter.Equals("Year")) { return (value as string).Substring(0, 4); } else if (parameter.Equals("Month")) { return (value as string).Substring(4, 2); } else { return (value as string).Substring(6, 2); } } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } }
이렇게 parameter로 넘어오기때문에 컨버터를 굳이 3개 를 만들필요 없이 하나로 해결하였다.
'Windows Phone 7' 카테고리의 다른 글
[wp7] 리스트 컨트롤에서 Cell 순서를 아이폰처럼 바꾸어 보자. List ReOrder (0) | 2012.03.08 |
---|---|
[wp7] 공용으로 쓰는 Converter는 App.xaml에 보관하자. (0) | 2012.03.06 |
[wp7] 초성 검색 만들기 (2) | 2012.02.21 |
[wp7] MessageBox를 띄운 상태에서 Tombstone (0) | 2012.02.16 |
[wp7] Group Listbox 만들기 (0) | 2012.02.15 |