Событие PreviewTextInput
запускается «когда TextBox
получает текст независимо от устройства».Свойство text аргумента события PreviewTextInput
(тип TextCompositionEventArgs
) будет содержать только текст последнего входного действия.В случае ввода с клавиатуры это, скорее всего, будет одно нажатие клавиши и, следовательно, только один символ.Другие методы ввода, такие как голосовой ввод, могут вводить более одного символа за раз.
Событие TextChanged
просматривает свойство Text
TextBox
и происходиткогда его текст меняется каким-либо образом.Его аргумент события типа TextChangedEventArgs
содержит коллекцию объектов TextChange
, которые содержат информацию об изменениях, которые были сделаны.
Что касается выбора для проверки, ответ ... ни .Поскольку вы хотите подтвердить, я могу только предположить, что вы будете использовать введенный текст в другом месте вашего проекта.В WPF предпочтение отдается архитектуре MVVM (то есть Model, View, ViewModel), что означает, что мы используем Bindings для ввода.Существует несколько способов проверки текста TextBox
в MVVM, при этом я предпочел следующие методы: интерфейс IDataErrorInfo
и Правила проверки привязки .Первый выполняет проверку после отправки текстовых данных в ViewModel, а второй будет проверять текст перед его отправкой в ViewModel.
Надеюсь, это вам поможет!