Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin表单:如何在listview中获取选定的选取器模型数据?_Listview_Xamarin.forms_Picker - Fatal编程技术网

Xamarin表单:如何在listview中获取选定的选取器模型数据?

Xamarin表单:如何在listview中获取选定的选取器模型数据?,listview,xamarin.forms,picker,Listview,Xamarin.forms,Picker,我的Listview中有一个选择器。我正在通过RESTAPI调用将数据绑定到listview。以下是我的模型: public class Attendance { public List<cbrainAttendanceHBList> cbrainAttendanceHBList { get; set; } } public class cbrainAttendanceHBList { public string userId { get; set; } publi

我的Listview中有一个选择器。我正在通过RESTAPI调用将数据绑定到listview。以下是我的模型:

public class Attendance
{
  public List<cbrainAttendanceHBList> cbrainAttendanceHBList { get; set; }
}

public class cbrainAttendanceHBList
{
   public string userId { get; set; }
   public string name { get; set; }
   public string isPresent { get; set; } 
   public string status
    {
        get
        {
            if (isPresent == "1.0")
                return "Present";
            else if (isPresent == "0.0")
                return "Absent";
            else if (isPresent == "0.5")
                return "Half Day";
            else return "";
        }
    }
}
选择器位于ListView的内部。选择器代码:

 <ListView 
       x:Name="StudentList"
       RowHeight="75"
       BackgroundColor="White"
       HasUnevenRows="True">  
       <ListView.ItemTemplate>
           <DataTemplate>
                 <ViewCell>
                       <ViewCell.View>
                            <StackLayout 
                                  HorizontalOptions="FillAndExpand"
                                  VerticalOptions="FillAndExpand"
                                  Margin="5"
                                  Padding="5"
                                  Orientation="Horizontal">

                                  <Label 
                                        Text="{Binding name}"
                                        Font="17" 
                                        TextColor="#474747"
                                        HorizontalOptions="Start" 
                                         VerticalOptions="Center"/>

                                   <Picker 
                                         HorizontalOptions="EndAndExpand"
                                         Margin="0,0,20,0"
                                         SelectedItem="{Binding status}"
                                         SelectedIndexChanged="AttendanceStatus"
                                         WidthRequest="100"
                                         VerticalOptions="CenterAndExpand"
                                         TextColor="#5abcd7"  
                                         HeightRequest="50">
                                         <Picker.ItemsSource>
                                              <x:Array Type="{x:Type x:String}">
                                                  <x:String>Present</x:String>
                                                  <x:String>Half Day</x:String>
                                                  <x:String>Absent</x:String>
                                                </x:Array>
                                           </Picker.ItemsSource>
                                     </Picker>
                             </StackLayout>
                         </ViewCell.View>
                     </ViewCell>
                  </DataTemplate>
               </ListView.ItemTemplate>
            </ListView>
有人能建议一种在listview中捕获所选选取项的方法吗


提前感谢:)

选取者的
ItemSource
是一个
列表
,因此您不能将其转换为
cbrainedancehblist
。但是,选择器的
BindingContext
应该是该行的
cbraineAttendancehBlist

var picker = sender as Picker;
var selectedItem = picker.BindingContext as cbrainAttendanceHBList;

选择器的
项源
是一个
列表
,因此不能将其转换为
cbraineAttendancehBlist
。但是,选择器的
BindingContext
应该是该行的
cbraineAttendancehBlist

var picker = sender as Picker;
var selectedItem = picker.BindingContext as cbrainAttendanceHBList;
var picker = sender as Picker;
var selectedItem = picker.BindingContext as cbrainAttendanceHBList;