SelectedItem
erwartet ein ListPickerItem (welches eines der Elemente in der Liste ist). Sie übergeben es eine Zeichenfolge - daher der Fehler.
Sie können die SelectedIndex
einfacher einstellen.
Es ist schwierig, ein relevantes Beispiel für die Einstellung von SelectedItem anzugeben, ohne zu wissen, mit was Sie die Liste füllen.
Edit:
Hier ist ein Beispiel dafür, wie Sie Strings binden können. Ohne ein praktikables Beispiel dessen, was Sie tatsächlich an die Itemsource binden, ist dies das Beste, was ich tun kann. (Just geben den Namen des Objekts oder der Teilcode ist nicht genug.)
Unter der Annahme:
<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>
Dann kann ich den Inhalt binden mit:
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";
}
und stellen die SelectedItem
mit :
ListPickerSub.SelectedItem = "sunday";
Was ist 'sub'? Gehört es eigentlich zur Liste? –
es ist ein Wert von einem der Elemente im Speicher ja, sagen wir, dass ich xElement ("subElement"). Value, um die Datenbindung zu setzen. sub ist ein identischer Wert wie der Wert in subElement. Ich habe auch (nur zum Testen) versucht, von der listpicker Inhalt Einstellung statisch: Montag Sonntag –
Jamie