Как запретить ввод букв в TextBox Wpf

Как запретить ввод букв в TextBox Wpf& вот сам TextBox

<TextBox x:Name="MainTextBox" Grid.Row="0" FontSize="15" FontWeight="Bold" Margin="330,0,0,96" TextAlignment="Left"/>

в интернете есть только для WinForms а если и для WPF то там непонятно взятые KeyPress или типо того.


Ответы (1 шт):

Автор решения: aepot

Обработчик события PreviewKeyDown умеет отменять ввод символов.

<TextBox PreviewKeyDown="textBox_PreviewKeyDown" />
private void textBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
    if ((e.Key < Key.D0 || e.Key > Key.D9) && e.Key != Key.Back)
    {
        e.Handled = true;
    }
}

Стоит учесть, что этот способ не запретит вставлять неподходящие символы из буфера обмена. Возможно понадобится дополнительный контроль содержимого текстбокса через обработчик TextChanged.

→ Ссылка