按向上或向下箭头键时,WPF ComboBox PreviewKeyDown不会升高

时间:2018-07-16 05:30:01

标签: c# wpf events keydown

我在XAML中定义了一个组合框,如下所示:

<ComboBox x:Name="CmbDate" Width="100" Height="20" IsEditable="True"
       PreviewKeyDown="CmbDate_PreviewKeyDown"></ComboBox>

我还定义了一种方法,该方法在下面的代码中侦听PreviewKeyDown事件

private void CmbDate_PreviewKeyDown(object sender, KeyEventArgs e)
{
        base.OnPreviewKeyDown(e);
        if(e.Key == Key.Up || e.Key == Key.Down)
        {
            if (sender is ComboBox)
            {
                ComboBox cmb = sender as ComboBox;
                cmb.Focus();
                cmb.IsDropDownOpen = true;
            }
        }
}

但是当我按下向上或向下箭头键时,PreviewKeyDown事件永远不会触发。

但是,如果我按向左或向右箭头键,则会引发

PreviewKeyDown。 有什么正确的方法可以实现我想要的吗?

还是组合框控件的默认行为,我们必须作弊/骇客?

0 个答案:

没有答案