【发布时间】:2017-01-23 02:49:15
【问题描述】:
为什么在打开ComboBox 下拉菜单时没有触发KeyDown 事件?
有什么办法可以触发。
我正在尝试使用KeyDown 事件来检查按下了哪个键并自动从ComboBox 中选择一个项目,该项目以模拟部分自动完成功能的按下字符开头。但是当ComboBox打开时这不起作用。
代码:
<ComboBox x:Name="statusComboBox" KeyDown="ComboBox_KeyDown"/>
statusComboBox.ItemsSource = inspectionStatusComboList;
private void ComboBox_KeyDown(object sender, KeyRoutedEventArgs e)
{
ComboBox box = sender as ComboBox;
int index = -1;
string key = e.Key.ToString();
if (key.Length == 1)
{
switch(box.Name)
{
case "statusComboBox":
index = inspectionStatusComboList.IndexOf(inspectionStatusComboList.FirstOrDefault(x => x.StartsWith(key)));
break;
}
box.SelectedIndex = index;
}
}
【问题讨论】:
-
显示一些代码,否则很难帮助
-
@MikaelPuusaari :添加代码。
-
您是否尝试过捕捉预览事件而不是实际事件?
-
@LordWilmore:预览活动?
-
UIElement.PreviewKeyDown。 msdn.microsoft.com/en-us/library/…
标签: c# xaml windows-runtime uwp