Выберите элемент в выпадающем списке с помощью клавиши / вверх в WPf - PullRequest
0 голосов
/ 08 июня 2009

Как выбрать элементы в comboxbox с помощью клавиши вверх / вниз?

Я пытался обработать это в событии PreviewKeyDown. Но это не работает.

Ответы [ 2 ]

0 голосов
/ 08 июня 2009

Я полностью согласен с приведенным выше ответом. Сначала вы должны выбрать элемент управления.

, например

Вот пример 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;
}

Итак, после загрузки вы обнаружите, что комбо выбрано. Используйте клавиши со стрелками вверх / вниз для выбора элементов.

0 голосов
/ 08 июня 2009

Клавиатурная навигация уже присутствует для любого элемента управления, полученного из Селектор , как это делает CoboBox. Элемент управления должен иметь фокус, прежде чем он будет также захватывать ключевые события. Вы пытаетесь сделать что-то другое, затем выбрать / прокрутить элементы? Потому что это уже делает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...