У меня есть TextBox, связанный со свойством Text ViewModel со следующей настройкой:
Xaml
<TextBox Text="{Binding Text}"/>
C #
public class ViewModel : INotifyPropertyChanged
{
public string Text
{
get
{
return m_Text;
}
set
{
if (String.Equals(m_Text, value))
{
return;
}
m_Text = value.ToLower();
RaisePropertyChanged("Text");
}
}
// Snip
}
Когда я набираю некоторые вещи в TextBox, он успешно устанавливает свойство Text в ViewModel. Проблема в том, что WPF игнорирует событие изменения свойства, которое вызывается его собственным обновлением. Это приводит к тому, что пользователь не видит набранный текст, преобразованный в нижний регистр.
Как я могу изменить это поведение, чтобы TextBox обновлялся строчными буквами?
Примечание: это всего лишь пример, который я использовал для иллюстрации проблемы игнорирования событий WPF. Мне не очень интересно конвертировать строки в нижний регистр или какие-либо проблемы с String.Equals (строка, строка).