2016-06-12 5 views
2

Xamarin Forms 응용 프로그램을 사용하여 목록보기에 Student 유형의 개체 목록을 채 웁니다. 이 학생을 선택하고 선택한 학생의 이름이 표시된 경고를 열 수 있기를 원합니다. 현재 시도는 경고의 개체 유형 (Student) 만 표시합니다. 여기 내 접근 방식 : AttendancePage.xaml:데이터 바인딩에서 개체 속성 정보를 검색하는 방법

<ListView x:Name="RosterInView" SeparatorVisibility="None" ItemSelected="OnSelection"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <TextCell Text="{Binding complete_name}" 
      Detail="{Binding grade}"/> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

와의

내 나는 바인딩 속성을 아래로 점점 어려움에 봉착 AttendancePage.xaml.cs : @RoyiMindel에

protected override void OnAppearing() 
    { 
     base.OnAppearing(); 
     IEnumerable<Student> roster = _database.GetItems(); 

     RosterInView.ItemsSource = roster; 

    } 
void OnSelection(object sender, SelectedItemChangedEventArgs e) 
    { 
     if (e.SelectedItem == null) 
      return; 
     // real trouble starts here with how to refer to "complete_name" as seen in the xaml file 
     DisplayAlert("Item Selected", ((ListView)sender).SelectedItem.ToString(), "OK"); 
    } 
+2

((ListView) 발신자) .SelectedItem as Student)가 작동하지 않습니까? –

+1

그게 전부 야! 고맙습니다! – panthor314

답변

3

아주 간단한 솔루션 덕분에 그것을 지적 대신

DisplayAlert("Item Selected", ((ListView)sender).SelectedItem.ToString(), "OK"); 

이되어야합니다.

DisplayAlert("Item Selected", (((ListView)sender).SelectedItem as Student).complete_name, "OK"); 
관련 문제