Итак, я получил эту работу, выполнив следующее
public class MyScrollViewer : ScrollViewer
{
protected override void OnKeyDown(KeyEventArgs e)
{
if (e.KeyboardDevice.Modifiers == ModifierKeys.Control)
{
if (e.Key == Key.Left || e.Key == Key.Right)
return;
}
base.OnKeyDown(e);
}
}
Я думаю, что хитрость заключается в том, чтобы понять, что событие начинается сверху и работает вниз.Затем на обратном пути каждый «слой» проверяет логический параметр Handled и, если он не установлен в true, он определит, будет ли он что-то делать, и установит его, если он это сделает.Мне нужно было замкнуть это поведение для моих ярлыков, чтобы Handled все равно оставался ложным, когда возвращался на уровень Window.