다음을 통해 공유


선택기 항목 컬렉션에 데이터 추가

선택기 보기는 데이터 목록에서 텍스트 항목을 선택하기 위한 컨트롤입니다. 이 문서에서는 항목을 항목 컬렉션에 추가하여 선택기를 데이터로 채우는 방법과 사용자가 항목 선택에 응답하는 방법을 설명합니다.

데이터로 선택기 채우기

Xamarin.Forms 2.3.4 이전에는 데이터로 채우는 Picker 프로세스는 읽기 전용 Items 컬렉션에 표시할 데이터를 추가하는 것이었습니다( 형식IList<string>). 컬렉션의 각 항목은 형식 string이어야 합니다. 항목 목록을 x:String 사용하여 속성을 초기화 Items 하여 XAML에서 항목을 추가할 수 있습니다.

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

해당하는 C# 코드는 다음과 같습니다.

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

메서드를 사용하여 Items.Add 데이터를 추가하는 것 외에도 메서드를 사용하여 Items.Insert 컬렉션에 데이터를 삽입할 수도 있습니다.

항목 선택에 응답

A는 Picker 한 번에 하나의 항목을 선택할 수 있습니다. 사용자가 항목을 SelectedIndexChanged 선택하면 이벤트가 발생하며 SelectedIndex 속성이 목록에서 선택한 항목의 인덱스를 나타내는 정수로 업데이트됩니다. 속성은 SelectedIndex 사용자가 선택한 항목을 나타내는 0부터 시작하는 숫자입니다. 항목을 선택하지 않은 경우(처음 만들어지고 초기화된 SelectedIndex 경우Picker)는 -1이 됩니다.

참고 항목

플랫폼별 iOS에서 Picker 항목 선택 동작을 사용자 지정할 수 있습니다. 자세한 내용은 선택 항목 선택 제어를 참조 하세요.

다음 코드 예제에서는 이벤트가 발생할 때 실행되는 이벤트 처리기 메서드를 SelectedIndexChanged 보여 OnPickerSelectedIndexChanged 줍니다.

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

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

이 메서드는 SelectedIndex 속성 값을 가져오고 이 값을 사용하여 컬렉션에서 선택한 항목을 검색합니다 Items . 컬렉션의 Items 각 항목은 a string이므로 캐스트 없이도 Label 표시할 수 있습니다.

참고 항목

속성을 설정하여 특정 항목을 표시하도록 A Picker 를 초기화할 SelectedIndex 수 있습니다. 그러나 컬렉션을 초기화 ItemsSelectedIndex 후 속성을 설정해야 합니다.