有时数据源的类型与目标类型不一致时,需要把源通过一定的转换之后才能绑定到目标之上。
本例:
(1) 把车的类型转换成车所对应的图片路径;
(2) 把车的运行状态转换成CheckBox的状态;
1、类/类型定义
public enum Category//车的类型
{
Car,
Bus,
}
public enum State//车的状态
{
Running,
Stop,
Unknow,
}
public class Vehicle
{
public string Name { get; set; }
public Category Category { get; set; }
public State State { get; set; }
}
2、车的类型转换类
public class CategoryToPictureConverter : IValueConverter
{
/* 数据从Source到Targe时,Convert被调用 */
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
Category category = (Category)value;
switch (category)
{