Je rencontre un problème avec mon contrôle ListPicker. J'ai mis mon listpicker dans ma page suivante mais je reçois un IndexOutOfRangeException lors de l'exécution, et je ne suis pas tout à fait sûr de la façon de résoudre le problème:ListPicker IndexOutOfRangeException
SettingsPage.xaml
<phone:PhoneApplicationPage.Resources>
<DataTemplate x:Name="SearchProviderItemTemplate">
<TextBlock Text="{Binding SearchProvider}" />
</DataTemplate>
</phone:PhoneApplicationPage.Resources>
<ScrollViewer x:Name="ContentPanel_Browser" Margin="12,0,12,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="70"/>
<RowDefinition Height="70"/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
...
<!-- Search Provider -->
<TextBlock Text="Search provider" Margin="12,7,12,8"
Grid.Row="3" VerticalAlignment="Bottom"
Foreground="{StaticResource PhoneSubtleBrush}"/>
<toolkit:ListPicker x:Name="SearchProviderListPicker" Grid.Row="4" Grid.ColumnSpan="2" Margin="12,0,12,0"
ItemTemplate="{Binding SearchProviderItemTemplate}"
SelectionChanged="SearchProviderListPicker_SelectionChanged" />
</Grid>
</ScrollViewer>
SettingsPage.xaml. cs
string searchProvider;
String[] SearchProvider =
{
"Google",
"Bing",
"Yahoo",
"Ask",
"AOL"
};
private void SearchProviderListPicker_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
string selectedItem = e.AddedItems[0] as string; //IndexOutOfRangeException was unhandled
switch (selectedItem)
{
case "Google":
searchProvider = "http://www.google.com/search?q=";
break;
case "Bing":
searchProvider = "http://www.bing.com/search?q=";
break;
case "Yahoo":
searchProvider = "http://search.yahoo.com/search?p=";
break;
case "Ask":
searchProvider = "http://www.ask.com/web?q=";
break;
case "AOL":
searchProvider = "http://search.aol.com/search?q=";
break;
//default:
// SearchProvider = "http://search.aol.com/search?q=";
// break;
}
Le IndexOutOfRangeException se produit avec la ligne 'chaîne selectedItem = e.AddedItems [0] en tant que chaîne de caractères;' dans SettingsPage.xaml.cs. Je me souviens d'avoir vu comment résoudre ça quelque part sur StackOverflow mais je n'arrive pas à trouver cette source maintenant. Une idée sur la façon de définir les limites ou de vérifier que cette exception ne se produira pas? Merci d'avance (n'importe quelle aide de code aiderait je suis nouveau à ceci!).