Freigeben über


Hinzufügen von Daten zur Elementsammlung einer Auswahl

Die Auswahlansicht ist ein Steuerelement zum Auswählen eines Textelements aus einer Datenliste. In diesem Artikel wird erläutert, wie Sie eine Auswahl mit Daten auffüllen, indem Sie sie der Items-Auflistung hinzufügen und wie Sie auf die Elementauswahl durch den Benutzer reagieren.

Auffüllen einer Auswahl mit Daten

Xamarin.Forms Vor 2.3.4 bestand der Prozess zum Auffüllen von Picker Daten darin, die Daten hinzuzufügen, die der schreibgeschützten Items Auflistung angezeigt werden sollen, die vom Typ IList<string>ist. Jedes Element in der Sammlung muss vom Typ string sein. Elemente können in XAML hinzugefügt werden, indem die Items-Eigenschaft mit einer Liste von x:String-Elementen initialisiert wird:

<Picker Title="Select a monkey"
        TitleColor="Red">
  <Picker.Items>
    <x:String>Baboon</x:String>
    <x:String>Capuchin Monkey</x:String>
    <x:String>Blue Monkey</x:String>
    <x:String>Squirrel Monkey</x:String>
    <x:String>Golden Lion Tamarin</x:String>
    <x:String>Howler Monkey</x:String>
    <x:String>Japanese Macaque</x:String>
  </Picker.Items>
</Picker>

Der entsprechende C#-Code ist unten dargestellt:

var picker = new Picker { Title = "Select a monkey", TitleColor = Color.Red };
picker.Items.Add("Baboon");
picker.Items.Add("Capuchin Monkey");
picker.Items.Add("Blue Monkey");
picker.Items.Add("Squirrel Monkey");
picker.Items.Add("Golden Lion Tamarin");
picker.Items.Add("Howler Monkey");
picker.Items.Add("Japanese Macaque");

Neben dem Hinzufügen von Daten mit der Methode Items.Add können Daten auch mit der Methode Items.Insert in die Sammlung eingefügt werden.

Reagieren auf die Elementauswahl

Ein Picker unterstützt die Auswahl von jeweils einem Element. Wenn ein/e Benutzer*in ein Element auswählt, wird das Ereignis SelectedIndexChanged ausgelöst, und die Eigenschaft SelectedIndex wird auf eine ganze Zahl aktualisiert, die den Index des ausgewählten Elements in der Liste darstellt. Die Eigenschaft SelectedIndex ist eine auf Null basierende Zahl, die das vom Benutzer ausgewählte Element angibt. Wenn kein Element ausgewählt ist, was bei der ersten Erstellung und Initialisierung von Picker der Fall ist, ist SelectedIndex -1.

Hinweis

Elementauswahlverhalten in einer Picker kann auf iOS plattformspezifisch angepasst werden. Weitere Informationen finden Sie unter Steuern der Auswahlelementauswahl.

Das folgende Codebeispiel zeigt die OnPickerSelectedIndexChanged-Ereignisbehandlungsmethode, die ausgeführt wird, wenn das SelectedIndexChanged-Ereignis ausgelöst wird:

void OnPickerSelectedIndexChanged(object sender, EventArgs e)
{
  var picker = (Picker)sender;
  int selectedIndex = picker.SelectedIndex;

  if (selectedIndex != -1)
  {
    monkeyNameLabel.Text = picker.Items[selectedIndex];
  }
}

Diese Methode erhält den SelectedIndex-Eigenschaftswert und verwendet den Wert, um das ausgewählte Element aus der Items-Sammlung abzurufen. Da jeder Gegenstand in der Items-Sammlung ein string ist, können sie von einem Label angezeigt werden, ohne dass eine Besetzung erforderlich ist.

Hinweis

Ein Picker kann durch Setzen der Eigenschaft SelectedIndex zur Anzeige eines bestimmten Elements initialisiert werden. Die SelectedIndex-Eigenschaft muss jedoch nach der Initialisierung der Items-Sammlung festgelegt werden.