Converter

Converter是WPF在绑定中经常要使用到的一个属性。

有时候数据存储的形式与需要其展现的形式并非完全一致,此时可以采用Converter。本例是将一个字符串绑定到ListBox上。使用方法如下:

1. 定义一个Converter.需要继承自IValueConverter,并且定义Convert和ConvertBack方法

    [ValueConversion(typeof(string), typeof(List<string>))]
    public class ListConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string dataString = (string)value;
            if (dataString == null)
            {
                return null;
            }
            return dataString.Split('#').ToList();
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            List<string> stringList = (List<string>)value;
            if (stringList == null)
            {
                return null;
            }
            string dataString = "";
            foreach (var VARIABLE in stringList)
            {
                dataString += VARIABLE + "#";
            }
            return dataString;
        }
    }

 

2.前台页面引用该Converter.注:使用Converter的时候要将其添加至Resource中。

1     <UserControl.Resources>
2         <dxApplication1:ListConverter x:Key="UsingConverter"/>
3     </UserControl.Resources>
4     <ListBox Grid.Row="0" ItemsSource="{Binding ElementName=window, Path=EditValue,Mode=TwoWay, Converter={StaticResource UsingConverter}}" />

 

posted @ 2014-12-12 13:48  Alf7  阅读(287)  评论(0编辑  收藏  举报