<TextBox x:Name="PhoneTextBox"
Text="Поле для ввода номера телефона"
ToolTip="Поле для ввода номера телефона"
PreviewTextInput="PhoneTextBox_PreviewTextInput"
PreviewKeyDown="PhoneTextBox_PreviewKeyDown"/>
private void PhoneTextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
// Проверяем ввод символа через PreviewTextInput
// Разрешены только цифры 0-9 и знак '+'
if (e.Text != "0" && e.Text != "1" && e.Text != "2" && e.Text != "3" &&
e.Text != "4" && e.Text != "5" && e.Text != "6" && e.Text != "7" &&
e.Text != "8" && e.Text != "9" && e.Text != "+")
{
// Если символ не цифра и не '+', блокируем ввод
e.Handled = true;
}
}
private void PhoneTextBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
// Блокируем клавишу Пробел (так как PreviewTextInput ее не отлавливает)
if (e.Key == Key.Space)
{
e.Handled = true;
}
}