ビューモデルに、特定の条件下で定数を返すプロパティがあります。
これと同様に実装されます:
class Tmp : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public String Text
{
get { return "testing"; }
set
{
PropertyChanged(this,new PropertyChangedEventArgs("Text")); }
}
}
したがって、プロパティTextalwasysは「testing」を返します。
私はこれを次のようなテキストボックスにバインドしました:
<TextBox Text="{Binding Path=Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
アプリケーションが起動すると、テキストボックスに「テスト中」と表示されます。
これで、テキストボックスに何かを入力すると、PropertyChangedを呼び出すセッターが呼び出されます。
この後、何か(おそらくGUI)がゲッターを呼び出し、値「testing」を取得します。
ただし、テキストボックス内のテキストはテストに戻されません。
したがって、テキストボックスに「abc」と入力すると、モデルに「テスト」が格納されているだけでも、テキストボックスに「abc」と表示されます。
キーストロークごとにテキストボックスのテキストが「テスト」にリセットされないのはなぜですか。