Текстовое привязку текстового поля WPF MVVM против события changeText
У меня есть текстовое поле со свойством Text, привязанным к viewmodel.
Я привязал событие TextChanged к viewmodel.
Но проблема в том, что событие вызывает каждый знак, добавленный в текстовое поле (это хорошо), и Text в viewmodel обновляется, когда текстовое поле потеряло фокус (это плохо для меня).
Как сделать это свойство текста освежающим после каждого знака?
Или как отправить отправителя в качестве параметра? Я думаю, что отправитель мог бы обновить данные.
Моя интерактивность xaml:
<interactivity:Interaction.Triggers>
<interactivity:EventTrigger EventName="TextChanged">
<helpers:CustomCommandInvoker Command="{Binding UnlockChangedCommand}" />
</interactivity:EventTrigger>
</interactivity:Interaction.Triggers>
Я использую RelayCommand.
Ответы
Ответ 1
На самом деле есть простой ответ; используйте 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