я получил следующий код XAML:WPF/Катель: TextBox не срабатывает TextChanged события, когда Shift + символ вводится
<TextBox TextWrapping="Wrap"
Width="300"
Text="{Binding SearchText, Mode=TwoWay,
UpdateSurceTrigger=PropertyChanged}"
VerticalContentAlignment="Center"
ToolTip="Suchbegriff eingeben.">
<i:Interaction.Triggers>
<i:EventTrigger EventName="TextChanged">
<catel:EventToCommand Command="{Binding SearchTxt_TextChangedCmd}"
DisableAssociatedObjectOnCannotExecute="False"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
Это текстовое поле, которое привязано к строке в MVVM. Проблема заключается в том, что я нажимаю «shift + a character» в первой букве, тогда событие не запускается. Когда я нажимаю кнопку блокировки + любой символ, тогда событие будет запущено, как обычно. Он работает, когда я нажимаю любой символ на клавиатуре.
Может ли кто-нибудь мне помочь?
Thx заранее,
Edit: Решение после предложению Geert:
В view.xaml:
<TextBox Height="31"
HorizontalAlignment="Right"
Margin="0,59,20,0"
Name="textBox2"
VerticalAlignment="Top"
Width="282"
Text="{Binding BehaviorText, Mode=TwoWay}">
<i:Interaction.Behaviors>
<catel:UpdateBindingOnTextChanged UpdateDelay="200" />
</i:Interaction.Behaviors>
</TextBox>
В ViewModel (с использованием Catel):
public String BehaviorText
{
get { return GetValue<String>(BehaviorTextProperty); }
set { SetValue(BehaviorTextProperty, value); }
}
public static readonly PropertyData BehaviorTextProperty =
RegisterProperty("BehaviorText", typeof(String), null, (sender, e) => ((MainWindowViewModel)sender).OnUpdateBindingOnTextChanged());
private void OnUpdateBindingOnTextChanged()
{
Console.WriteLine(BehaviorText);
}
Привет, Geert, thx для ответа :). Вы имеете в виду воспроизведение = воспроизведение ошибки? Извините за вопрос, потому что мой английский не так уж хорош. Хорошо попробует предложение, а затем загрузите примерный проект, если он не будет работать. –
Привет, это работает, замечательно! ^^ –
Привет, я попробовал свой пользовательский EventoToCommandClass и работает с триггером. Я загружу репродукцию на https://catelproject.atlassian.net –