Aracılığıyla paylaş


Bir Seçicinin Öğe Koleksiyonuna Veri Ekle

Seçici görünümü, veri listesinden metin öğesi seçme denetimidir. Bu makalede, Bir Seçici'yi Items koleksiyonuna ekleyerek verilerle doldurma ve kullanıcı tarafından öğe seçimine yanıt verme açıklanmaktadır.

Seçiciyi verilerle doldurma

2.3.4'ün Xamarin.Forms öncesinde verilerle doldurma Picker işlemi, IList<string>görüntülenecek verileri türündeki salt Items okunur koleksiyona eklemekti. Koleksiyondaki her öğe türünde stringolmalıdır. Öğe listesiyle özelliği başlatılarak Items XAML'ye x:String öğeler eklenebilir:

<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>

Eşdeğer C# kodu aşağıda gösterilmiştir:

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");

yöntemini kullanarak veri eklemeye Items.Add ek olarak, yöntemi kullanılarak veriler de koleksiyona Items.Insert eklenebilir.

Öğe seçimine yanıt verme

A Picker , bir kerede bir öğenin seçilmesini destekler. Kullanıcı bir öğeyi seçtiğinde SelectedIndexChanged olay tetiklenir ve SelectedIndex özellik listedeki seçili öğenin dizinini temsil eden bir tamsayıya güncelleştirilir. SelectedIndex özelliği, kullanıcının seçtiği öğeyi gösteren sıfır tabanlı bir sayıdır. Hiçbir öğe seçilmezse ( ilk oluşturulduğu ve başlatıldığı Picker SelectedIndex durum) -1 olur.

Not

içindeki öğe Picker seçimi davranışı, platforma özgü bir iOS ile özelleştirilebilir. Daha fazla bilgi için bkz . Seçici Öğe Seçimini Denetleme.

Aşağıdaki kod örneği, olay tetiklendiğinde SelectedIndexChanged yürütülen olay işleyici yöntemini gösterirOnPickerSelectedIndexChanged:

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

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

Bu yöntem özellik değerini alır SelectedIndex ve seçili öğeyi koleksiyondan Items almak için değerini kullanır. Koleksiyondaki Items her öğe bir stringolduğundan, atama gerektirmeden tarafından Label görüntülenebilir.

Not

Picker özelliği ayarlanarak SelectedIndex belirli bir öğeyi görüntülemek için başlatılabilir. Ancak, SelectedIndex özelliği koleksiyonun başlatılmasından Items sonra ayarlanmalıdır.