2009-06-08 9 views

Répondre

0

La navigation au clavier est déjà présente pour toute commande dérivant de Selector comme le fait la CoboBox. Le contrôle doit être ciblé avant de capturer les événements clés. Essayez-vous de faire autre chose que de sélectionner/faire défiler les éléments? Parce qu'il le fait déjà.

0

Je suis entièrement d'accord avec la réponse ci-dessus. Vous devez d'abord sélectionner le contrôle.

par exemple.

Voici un exemple xaml Code

<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> 

Dans le fichier .cs ajouter ce qui suit

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; 
} 

Alors après le chargement, vous constaterez que le combo est sélectionné. Utilisez les flèches haut/bas pour les éléments à sélectionner.