【Windows Phone 8】值轉換器
前言:當資料用Binding的方式顯示時,資料是A他就只會顯示A但有時這往往不是我們要的結果,這時就需要實作一個值轉換器改變輸出的資料。(這裡只將實作OneWay模式)
為了測試方便新建一個【Windows Phone 資料繫結應用程式】
將【方案總管】>【ViewModels】>【MainViewModel.cs】檔開啟
將【LoadData】方法中【LineOne】資料修改為下圖中
實作:
Step-1 建立類別實作IValueConverter介面
class DateConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}
Step-2 將Convert方法內的程式碼改為下列(決定回傳型態)
string a = value.ToString();
var color=new SolidColorBrush();
switch(a)
{
case "R":
color=new SolidColorBrush(Colors.Red);
break;
case "G":
color = new SolidColorBrush(Colors.Green);
break;
case "B":
color = new SolidColorBrush(Colors.Blue);
break;
}
return color;
Step-3 加入值轉換器(以Background為例)
執行結果:
深入了解:IValueConverter 介面