1 min to read
L'autocompletion sur Windows Phone 7
Nous allons voir dans cet article les différentes façon de créer un système d’auto-complétion (ou l’équivalent) sur un Windows Phone 7.
Méthode 1 : InputScope
Comme pour d’autres OS mobile, WP7 permet de rechercher un mot entré par un utilisateur dans un dictionnaire. De plus via la propriété InputScope nous allons pouvoir spécifier un contexte.
Actuellement les scopes disponible sont listés dans l’énumération InputScopeNameValue
Voici le XAML néccésaire pour activer cette fonctionnalité sur une textbox :
<TextBox InputScope="Text" />
et le résultat
Cette méthode est très simple et rapide à mettre en place, cependant les mots retournés, même si le contexte est précisé, ne correspondent pas forcément au besoin actuel, d’ou la seconde méthode.
Méthode 2 : AutoCompleteBox
Le contrôle SilverLight AutoCompleteBox permet de créer un champs de saisi qui sera autocompleté en utilisant une liste que l’on va pouvoir définir, la bonne nouvelle c’est que ce controle peut être utilisé sur WP7., la mauvaise c’est qu’il est un peu buggé.
Avant de pouvoir utiliser ce controle il faut rajouter la référence vers l’assembly System.Windows.Controls.Input
Il ne reste plus qu’à l’inserer dans votre XAML
<toolkit:AutoCompleteBox x:Name="acbArrival" Grid.Row="1" Grid.Column="1" Text="{Binding ArrivalTown, Mode=TwoWay}"
MinimumPopulateDelay="200"
MinimumPrefixLength="3"
FilterMode="StartsWith"
ValueMemberBinding="{Binding Name}"
ItemsSource="{ Binding TownsList}" Height="71" VerticalAlignment="Top"
SelectionChanged="acbArrival_SelectionChanged"
IsEnabledChanged="acbArrival_IsEnabledChanged"
>
<toolkit:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</toolkit:AutoCompleteBox.ItemTemplate>
</toolkit:AutoCompleteBox>