Я борюсь с тем, что у меня есть текстовое поле
<TextBox Name="FilterInputText" Visibility="{Binding VisibiltyAttr}" Width="500" Height="30" Text="{Binding InputText}" HorizontalAlignment="Left" Margin="5">
<TextBox.InputBindings>
<KeyBinding Command="{Binding EnterCommand}" Key="Enter" />
<KeyBinding Command="{Binding DownSelectionCommand}" Key="Down" />
</TextBox.InputBindings>
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyUp">
<i:InvokeCommandAction Command="{Binding CompleteCommand}" CommandParameter="{Binding Text, ElementName=InputText}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
У меня есть событие, инициируемое здесь с чем-то, вводимым внутри текстового поля с событием "KeyUp".Теперь я работаю для автозаполнения текстового поля, поэтому я показал предложения по вводу в список, который работает нормально.поэтому мне нужно привязать клавишу вниз, чтобы связать с этим текстовым полем, чтобы после показа предложений пользователь мог нажать клавишу вниз и выбрать оттуда свой желаемый вариант.Это будет хорошо работать для связывания клавиш для клавиши вниз.
Проблема связана с активацией события, потому что любое нажатие клавиши внутри текстового поля вызывает это событие.теперь я отправляю значение текстового поля в качестве параметра команды, но мне также нужно отправить keyeventargs с параметром comamnd, чтобы я мог выяснить, какая клавиша нажата, и когда нажата кнопка «вниз», я больше не буду выполнять метод.
Так как я могуя передаю и значение текстового поля, и keyeventargs в качестве параметра команды, я строго следую образцу mvvm.