wpf 数据转换器Convert的基本使用

使用场景

        数据实体中常有用INT值属性保存对应该枚举的数据,在界面显示时想显示枚举的描述时使用。

效果

wpf 数据转换器Convert的基本使用_第1张图片

示例

        实体

/// 
/// 点位表 实体
/// 
[MfTable("Point")]
public class PointModel : BaseModelExtendIdAndName
{
	/// 
	/// 编号
	/// 		
	public int No { get; set; }

	/// 
	/// X轴坐标
	/// 		
	public decimal PointX { get; set; }

	/// 
	/// Y轴坐标
	/// 		
	public decimal PointY { get; set; }

    /// 
    /// 另外增加的修正值X
    /// 
    public decimal AddX { get; set; }

    /// 
    /// 另外增加的修正值Y
    /// 
    public decimal AddY { get; set; }

    /// 
    /// 类型[焊接点位:0,相机点位:1,标定点位:2,轴点位:3] PointTypeEnum
    /// 		
    public int Type { get; set; }

	/// 
	/// 配方ID
	/// 
	public int FormulaId { get; set; }

	/// 
	/// 轴卡 ID
	/// 
	public int AxisId { get; set; }

    /// 
    /// 获取X轴总值
    /// 
    /// 
    public decimal GetPointXSum()
    {
        return PointX + AddX;
    }

    /// 
    /// 获取Y轴总值
    /// 
    /// 
    public decimal GetPointYSum()
    {
        return PointY + AddY;
    }

    /// 
    /// 获取类型描述
    /// 
    /// 
    public string GetPointTypeDesc()
    {
        return ((PointTypeEnum)Enum.Parse(typeof(PointTypeEnum), this.Type.ToString())).GetEnumDesc();
    }
}    

/// 
/// 点位类型
/// 
public enum PointTypeEnum
{
	/// 
	/// 焊接点位
	/// 
	[Description("焊接点位")]
	WeldPoint = 0,

	/// 
	/// 相机点位
	/// 
	[Description("相机点位")]
	CameraPoint = 1,

    /// 
    /// 标定点位
    /// 
    [Description("标定点位")]
    StandardizationPoint = 2,

    /// 
    /// 轴点位
    /// 
    [Description("轴点位")]
    AxisPoint = 3,

    /// 
    /// CAD图点位
    /// 
    [Description("CAD图点位")]
    CADPoint = 4,
}

转换器

/// 
/// 转换器
/// 
public class PointTypeConvert : IValueConverter
{
    //正转
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        //根据枚举值获取对应的描述
        return ((PointTypeEnum)value).GetEnumDesc();
    }

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

界面绑定

注意看

1.引用转换器所在命名空间 xmlns:dc="clr-namespace:SZCLKJ.Weld.App.DataConvert"

2.在界面资源中创建资源key :

3.在要使用的地方调用: 


    
        
            
                
                
                
            
            
                
    
    
        
            
            
        

        
        
            
            
        
        
        
            

你可能感兴趣的:(WPF,wpf)