Я хочу, когда пользователь нажимает вверх/вниз, чтобы перемещаться внутри списка, даже думал, что список не находится в фокусе. Но если пользователь вводит текстовое поле и нажимает вверх, чтобы больше не перемещаться в списке. В качестве возможного решения можно добавить событие PreviewKeyDown для каждого элемента, и если захваченный ключ вверх/вниз, то передайте его дальше по дереву, но это решение кажется не очень практичным, так как у меня много элементов.WPF - сочетания клавиш для захвата с помощью управления, даже если они не сфокусированы
Пример кода:
<StackPanel>
<ListView x:Name="capturesUpDownWhenTextBoxNotFocused" ItemsSource="{Binding list}" ItemTemplate="{StaticResource template}">
<ListView.InputBindings>
<KeyBinding Key="Up" Command="{Binding upCommand}"></KeyBinding>
<KeyBinding Key="Down" Command="{Binding downCommand}"></KeyBinding>
</ListView.InputBindings>
</ListView>
<TextBox Text="random text"></TextBox>
<Button Content="button"></Button>
<ListView x:Name="doesNotCaptureUpDownEvenIfFocused" ItemsSource="{Binding activeFile.activeFilters}" ItemTemplate="{StaticResource template}"></ListView>
</StackPanel>
Да, это маршрут, который я предпринял после поиска по всему миру, спасибо за ответ, подтверждающий, что это был хороший подход –