I持って次のセットアップでのViewModelのTextプロパティにバインドされたテキストボックス:WPFバインディングが原因で発生したPropertyChangedイベントを無視しないようにする方法
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
}
私はテキストボックスにしていくつかのものを入力しますViewModelのTextプロパティを正常に設定します。問題はWPFが独自の更新によって発生したプロパティ変更イベントを無視することです。これにより、ユーザーは、入力したテキストが小文字に変換されているのを見られなくなります。
TextBoxが小文字のテキストで更新されるようにこの動作を変更するにはどうすればよいですか?
注:これは、WPF無視イベントの問題を説明するための例です。私は文字列を小文字に変換することや、String.Equals(string、string)の問題に関心を持っていません。
Dispatcherについて知るには、バインドされたオブジェクトが必要なので、私はこのソリューションが本当に好きではありません。しかし、それは問題を解決するので、答えとしてマークしています。 –