在WPf中使用key / up选择组合框中的项目

时间:2009-06-08 07:25:50

标签: .net wpf combobox

如何使用按键向上/向下选择组合框中的项目?

我试图在PreviewKeyDown事件中处理它。但它没有用。

2 个答案:

答案 0 :(得分:0)

键盘导航已经存在于任何来自Selector的控件,就像CoboBox一样。控件必须具有焦点才能捕获关键事件。 您是否尝试执行其他操作然后选择/滚动项目?因为它已经这样做了。

答案 1 :(得分:0)

我完全同意上述答案。首先,您必须选择控件。

e.g。

以下是示例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;
}

因此加载后,您会发现选择了组合。使用上/下箭头键选择要选择的项目。