【Windows Phone 8】值轉換器

【Windows Phone 8】值轉換器

前言:當資料用Binding的方式顯示時,資料是A他就只會顯示A但有時這往往不是我們要的結果,這時就需要實作一個值轉換器改變輸出的資料。(這裡只將實作OneWay模式)

 

為了測試方便新建一個【Windows Phone 資料繫結應用程式】

將【方案總管】>【ViewModels】>【MainViewModel.cs】檔開啟

將【LoadData】方法中【LineOne】資料修改為下圖中

 

IV-DataLineOne

 

實作:

 

Step-1 建立類別實作IValueConverter介面

IV-using

Convert

 

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為例)

 

SP

 

bindingDataConvert

 

執行結果:

 

Show

 

深入了解:IValueConverter 介面