web-dev-qa-db-ja.com

WPF MVVMテキストボックステキストバインディングとchangedTextイベント

ViewModelにバインドされたTextプロパティを持つテキストボックスがあります。 TextChangedイベントをviewmodelにバインドしました。

しかし問題は、イベントがtextboxに追加されるたびにイベントが発生することです(これで問題ありません)。

このTextプロパティを各記号の後に更新する方法は?

または送信者をパラメータとして送信する方法は?送信者はデータを更新したと思います。

私のインタラクティブxaml:

<interactivity:Interaction.Triggers>
    <interactivity:EventTrigger EventName="TextChanged">
        <helpers:CustomCommandInvoker Command="{Binding UnlockChangedCommand}"   />
     </interactivity:EventTrigger>
 </interactivity:Interaction.Triggers>

RelayCommandを使用しています。

17
user1736332

これには本当に簡単な答えがあります。 UpdatePropertyTrigger = PropertyChangedを使用します。これにより、文字が変更されるたびにVMプロパティが更新されます。トリガーやコマンドは必要ありません:-)

<TextBox Text="{Binding ViewModelProperty, UpdateSourceTrigger=PropertyChanged}"></TextBox>

詳細については、こちらをご覧ください: http://msdn.Microsoft.com/en-us/library/system.windows.data.updatesourcetrigger(v = vs.110).aspx

52
Espen Medbø