Добавить тире, когда пользователь вводит ssn в текстовое поле.невозможно удалить дефисы с помощью кнопки delete\backbutton
Привет, у меня есть требование XAML для добавления тире, когда пользователь вводит ssn в текстовое поле. Я попробовал ниже код, умею добавлять тире, но не могу удалить тире из текстового поля. Всякий раз когда я пытаюсь удалить или использовать задний пробел дефисы не удаляются
Что я уже пробовал:
код XAML:
<Window x:Class="WpfApplication2.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <grid> <TextBox HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" TextWrapping="Wrap" Name="Txtssn" Text="" MaxLength="11" VerticalAlignment="Top" Width="120" TextChanged="TextBox_TextChanged"/>
С#:
using System.Windows; using System.Windows.Controls; namespace WpfApplication2 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void TextBox_TextChanged(object sender, TextChangedEventArgs e) { var textBox = sender as TextBox; string data = textBox.Text; if (data.Length == 3) { string formattedSSN = data.Insert(3, "-"); Txtssn.Text = formattedSSN.ToString(); textBox.Focus(); textBox.SelectionStart = textBox.Text.Length; } else if (data.Length == 6) { string formattedSSN = data.Insert(6, "-"); Txtssn.Text = formattedSSN.ToString(); textBox.Focus(); textBox.SelectionStart = textBox.Text.Length; }}}