[WPF 学习] 16.手机号码和身份证号码自动加空格显示

一、定义转换类

   public class IdNoConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string no = value?.ToString() ?? "";
            if (no.Length > 14)
                return no.Substring(0, 6) + " " + no.Substring(6, 8) + " " + no.Substring(14);
            else if (no.Length > 6)
                return no.Substring(0, 6) + " " + no.Substring(6);
            return no;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return (value?.ToString() ?? "").Replace(" ", "");
        }
    }
    public class MobileConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string no = value?.ToString() ?? "";
            if (no.Length > 7)
                return no.Substring(0, 3) + " " + no.Substring(3, 4) + " " + no.Substring(7);
            else if (no.Length > 3)
                return no.Substring(0, 3) + " " + no.Substring(3);
            return no;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return (value?.ToString() ?? "").Replace(" ", "");
        }
    }

二、添加到资源

    
    

三、文本框设置

        
        

四、结果

你可能感兴趣的:([WPF 学习] 16.手机号码和身份证号码自动加空格显示)