WPF学习整理总结 --转换器


作用

1.可以将源数据和目标数据之间进行特定的转化

2.定义转换器,需要继承接口IValueConverter

 class ForeColorConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value == null) throw new ArgumentNullException("value can not be null");
            int index = System.Convert.ToInt32(value);
            if (index == 0)
                return "Blue";
            else if (index == 1)
                return "Red";
            else
                return "Green";
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return null;
        }
    }

Convert:会进行源属性传给目标属性的特定转化

ConvertBack:会进行目标属性传给源属性的特定转化

参数parameter:对应Binding的ConverterParameter属性

3.使用转换器

(1)引用转换器所在的命名空间

  xmlns:local="clr-namespace:Converter"

(2)定义资源

 
        "forColorConverter"/>
    

(3)定义属性

  public UserControl1()
        {
            InitializeComponent();
            this.DataContext = new ViewModel();
        }
        public class ViewModel : ViewModelBase
        {
            private int status = 0;
            public int Status
            {
                get => status; set { status = value; RaisePropertyChanged(" Status"); }

            }
        }

(4)绑定属性,添加转换器


        
 
WPF