Hinzufügen von Daten zur Elementsammlung einer Auswahl

Die Auswahlansicht ist ein Steuerelement zum Auswählen eines Textelements aus einer Liste von Daten. 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 Version 2.3.4 bestand der Prozess zum Auffüllen eines Picker mit Daten darin, die anzuzeigenden Daten der schreibgeschützten Items Auflistung hinzuzufügen, die vom Typ IList<string>ist. Jedes Element in der Auflistung muss vom Typ stringsein. 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");

Zusätzlich zum Hinzufügen von Daten mithilfe der Items.Add -Methode können Daten auch mithilfe der -Methode in die Items.Insert Auflistung eingefügt werden.

Reagieren auf die Elementauswahl

Ein Picker unterstützt die Auswahl eines Elements gleichzeitig. Wenn ein Benutzer ein Element auswählt, wird das SelectedIndexChanged Ereignis ausgelöst, und die SelectedIndex Eigenschaft wird auf eine ganze Zahl aktualisiert, die den Index des ausgewählten Elements in der Liste darstellt. Die SelectedIndex -Eigenschaft ist eine nullbasierte Zahl, die das element angibt, das der Benutzer ausgewählt hat. Wenn kein Element ausgewählt ist, ist dies der Fall, wenn das Picker zum ersten Mal erstellt und initialisiert wird, SelectedIndex -1.

Hinweis

Das Verhalten der Elementauswahl in einem Picker kann unter iOS mit einer plattformspezifischen Angepasst werden. Weitere Informationen finden Sie unter Steuern der Auswahlelementauswahl.

Das folgende Codebeispiel zeigt die OnPickerSelectedIndexChanged Ereignishandlermethode, 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 ruft den SelectedIndex Eigenschaftswert ab und verwendet den Wert, um das ausgewählte Element aus der Items Auflistung abzurufen. Da jedes Element in der Items Auflistung ein stringist, können sie von einem Label angezeigt werden, ohne dass eine Umwandlung erforderlich ist.

Hinweis

Ein Picker kann initialisiert werden, um ein bestimmtes Element anzuzeigen, indem die SelectedIndex -Eigenschaft festgelegt wird. Die SelectedIndex -Eigenschaft muss jedoch nach der Initialisierung der Items Auflistung festgelegt werden.