xamarin 表单-选择选择器时-将隐藏标签的 id 发送到 c# 后面的代码

xamarin forms - when picker selected - send id of hidden label to code behind c#

用户在 ListView 中从选择器中选择他们想要购买的商品数量,点击 OnPickerSelectedIndexChanged() 并传递选择的数量值....但我也想传回 ProductId 值来自 listView 内部的关联标签。

  <ListView ItemsSource="{Binding FoodList}" HasUnevenRows="True" SeparatorVisibility="None" ItemTapped="OnItemSelected">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <Grid Padding="10" RowSpacing="10" ColumnSpacing="10">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="*"/>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>

                        <Label Grid.Column="0" Text="{Binding **ProductId** }" VerticalOptions="End" IsVisible="False"/>
                        <controls:CircleImage  Grid.Column="1"  Grid.Row="1" HeightRequest="60" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Aspect="AspectFill" WidthRequest="66" Grid.RowSpan="2" Source="{Binding Image}"/>
                        <Label Grid.Column="2" Grid.Row="1" Text="{Binding Name}" VerticalOptions="End"/>
                        <Label Grid.Column="2" Grid.Row="2" VerticalOptions="Start" Text="{Binding Detail}"/>
                        <Label Grid.Column="3" Grid.Row="2" VerticalOptions="Start" Text="{Binding Price}"/>
                        <Picker Grid.Column="4"  Grid.Row="2" SelectedIndexChanged="OnPickerSelectedIndexChanged">
                            <Picker.Items>
                                <x:String>0</x:String>
                                <x:String>1</x:String>
                                <x:String>2</x:String>
                                <x:String>3</x:String>
                                <x:String>4</x:String>
                                <x:String>5</x:String>
                                <x:String>6</x:String>
                            </Picker.Items>
                            </Picker>
                    </Grid>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>


 void OnPickerSelectedIndexChanged(object sender, EventArgs e)
        {
            var picker = (Picker)sender;
            int Quantity = picker.SelectedIndex; //captures quantity ordered

            //How can I capture the ProductId here?
}

ListView 中的每一行都有自己的 BindingContext,它应该应用于该行中的所有元素

protected void SelectedIndexChanged(object sender, EventArgs e)
{
   var picker = (Picker)sender;

   int Quantity = picker.SelectedIndex;

   var item = (MyListModel)picker.BindingContext;
}