Dodawanie danych do kolekcji elementów selektora
Widok selektora to kontrolka służąca do wybierania elementu tekstowego z listy danych. W tym artykule wyjaśniono, jak wypełnić selektor danymi, dodając je do kolekcji Items i jak reagować na wybór elementów przez użytkownika.
Wypełnianie selektora danymi
Xamarin.Forms Przed wersją 2.3.4 proces wypełniania Picker
danych polegał na dodaniu danych, które mają być wyświetlane do kolekcji tylko Items
do odczytu, która jest typu IList<string>
. Każdy element w kolekcji musi mieć typ string
. Elementy można dodać w języku XAML, inicjując Items
właściwość za pomocą listy x:String
elementów:
<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>
Równoważny kod języka C# jest pokazany poniżej:
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");
Oprócz dodawania Items.Add
danych przy użyciu metody można również wstawić dane do kolekcji przy użyciu Items.Insert
metody .
Odpowiadanie na wybór elementu
Element Picker
obsługuje wybór jednego elementu jednocześnie. Gdy użytkownik wybierze element, SelectedIndexChanged
zdarzenie zostanie wyzwolone, a SelectedIndex
właściwość zostanie zaktualizowana do liczby całkowitej reprezentującej indeks wybranego elementu na liście. Właściwość SelectedIndex
jest liczbą zerową wskazującą element wybrany przez użytkownika. Jeśli żaden element nie jest zaznaczony, w przypadku pierwszego utworzenia Picker
i zainicjowania SelectedIndex
elementu wartość będzie wynosić -1.
Uwaga
Zachowanie wyboru elementów w elemencie Picker
można dostosować w systemie iOS przy użyciu specyficznego dla platformy. Aby uzyskać więcej informacji, zobacz Kontrolowanie wyboru elementu selektora.
Poniższy przykład kodu przedstawia metodę OnPickerSelectedIndexChanged
obsługi zdarzeń, która jest wykonywana po uruchomieniu SelectedIndexChanged
zdarzenia:
void OnPickerSelectedIndexChanged(object sender, EventArgs e)
{
var picker = (Picker)sender;
int selectedIndex = picker.SelectedIndex;
if (selectedIndex != -1)
{
monkeyNameLabel.Text = picker.Items[selectedIndex];
}
}
Ta metoda uzyskuje SelectedIndex
wartość właściwości i używa wartości do pobrania wybranego Items
elementu z kolekcji. Ponieważ każdy element w Items
kolekcji jest elementem string
, może być wyświetlany przez obiekt Label
bez konieczności rzutu.
Uwaga
Element Picker
można zainicjować, aby wyświetlić określony element, ustawiając SelectedIndex
właściwość . Jednak właściwość musi zostać ustawiona SelectedIndex
po zainicjowaniu kolekcji Items
.