Tried a few hours, never got it quite right. Closest I've got is:
private void testListView_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (testListView.SelectedIndex == 0)
{
if (e.Key == Key.Up)
{
e.Handled = true;
return;
}
}
}
This fixes the main part of the problem (focus is moved to the filter on up arrow).
Couldn't get elegantly tab behavior from another control into the filter comboboxes part, then the list part, then to the next control however. No combination of KeyboardNavigation.TabNavigation, ControlTabNavigation and DirectionalNavigation got the desired behavior.