SelectedItem
ожидает ListPickerItem (который является одним из элементов в списке).Вы передаете ему строку - отсюда и ошибка.
Возможно, вам будет проще установить SelectedIndex
.
Трудно привести соответствующий пример установки SelectedItem, не зная, чтоВы заполняете список с помощью.
Редактировать:
Вот пример того, как вы можете связать со строками.Без работоспособного примера того, что вы на самом деле привязываете к источнику предметов, это лучшее, что я могу сделать.(Просто указать имя объекта или частичный код недостаточно.)
Предполагая:
<Controls:ListPicker x:Name="ListPickerSub">
<Controls:ListPicker.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</Controls:ListPicker.ItemTemplate>
<Controls:ListPicker.FullModeItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</Controls:ListPicker.FullModeItemTemplate>
</Controls:ListPicker>
Тогда я могу связать содержимое с помощью:
ListPickerSub.ItemsSource = SubItems();
private IEnumerable<string> SubItems()
{
yield return "monday";
yield return "tuesday";
yield return "wednesday";
yield return "thursday";
yield return "friday";
yield return "saturday";
yield return "sunday";
}
и установите SelectedItem
с помощью:
ListPickerSub.SelectedItem = "sunday";