一、定义转换类

   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(" ", "");
        }
    }

二、添加到资源

    <local:IdNoConverter x:Key="IC"/>
    <local:MobileConverter x:Key="MC"/>

三、文本框设置

        <TextBox Text="{Binding IdNo,Converter={StaticResource IC},UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top"></TextBox>
        <TextBox Text="{Binding Mobile,Converter={StaticResource MC},UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Margin="0,20"></TextBox>

四、结果