【发布时间】:2009-06-08 07:25:49
【问题描述】:
如何使用上/下键选择组合框中的项目?
我试图在 PreviewKeyDown 事件中处理它。但它不起作用。
【问题讨论】:
如何使用上/下键选择组合框中的项目?
我试图在 PreviewKeyDown 事件中处理它。但它不起作用。
【问题讨论】:
从Selector 派生的任何控件都已经存在键盘导航,就像 CoboBox 一样。控件必须先获得焦点,然后才能捕获关键事件。 您是否尝试做其他事情然后选择/滚动项目?因为它已经这样做了。
【讨论】:
我完全同意上述答案。首先你必须选择控件。
例如
这是一个示例xaml 代码
<Page x:Class="CascadingDropDown.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Page1" Loaded="Page_Loaded">
<Grid>
<ComboBox Height="23" Margin="60,32,120,0" Name="comboBox1" VerticalAlignment="Top" DisplayMemberPath="CountryNames" ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True"/>
</Grid>
</Page>
在 .CS 文件中添加以下内容
private void Page_Loaded(object sender, RoutedEventArgs e)
{
comboBox1.DataContext = CountryTable();
comboBox1.Focus();
}
private DataTable CountryTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("CountryNames");
dt.Rows.Add("India");
dt.Rows.Add("Australia");
dt.Rows.Add("Canada");
dt.Rows.Add("USA");
return dt;
}
所以加载之后,你会发现combo被选中了。使用向上/向下箭头键选择要选择的项目。
【讨论】: