@Nastya0696

Валидация в wpf?

Как сделать так, чтобы в textBox, нельзя было вводить цифры
  • Вопрос задан
  • 356 просмотров
Пригласить эксперта
Ответы на вопрос 2
andrewpianykh
@andrewpianykh
Обрабатывайте событие TextChanged, например, так:

private void textBox_TextChanged(object sender, TextChangedEventArgs e)
{
	var index = textBox.CaretIndex;
	textBox.Text = Regex.Replace(textBox.Text, @"\d", "");
	textBox.CaretIndex = index;	
}
Ответ написан
Комментировать
WarFollowsMe
@WarFollowsMe
public class OnlyTextValidationRule : ValidationRule
{
    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        bool noNumbers = Regex.Matches("^([^0-9]*)$",value.ToString()).Count > 0;
        return new ValidationResult(noNumbers, "Value contains numbers");
    }
}

<Window.Resources>
		<local:OnlyTextValidationRule x:Key="NoNumberValidate"/>
</Window.Resources>

<TextBox Text={Binding Value, ValidationRules={StaticResource NoNumberValidate}}/>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы