单击按钮获取Xamarin中的模型项

时间:2019-08-27 16:07:26

标签: xamarin xamarin.forms xamarin-listview

我在Xamarin中具有此列表视图:

            <ListView x:Name="LocationsListView"
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <Grid Margin="10,10,10,10" Padding="5,5,5,5">
                                <StackLayout Grid.Column="0">
                                    <Label x:Name="lblAirport" HorizontalOptions="Center" Text="{Binding AirportICAO}"  />
                                    <Button x:Name="btnConfirmFuel" IsVisible="{Binding AirportFuelSelected}" Clicked="BtnConfirmFuel_Clicked" CommandParameter="{Binding .}" />
                                </StackLayout>
                            </Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

我想在列表中获得与单击按钮的行相关的项目。 现在,我可以通过Clicked object sender参数看到要获取的内容:

enter image description here

但是当我尝试获取实际的CommandParameter时,我没有将其作为选项。我有哪些选择,如何检测Xamarin Listview中从哪个项目单击了按钮?

1 个答案:

答案 0 :(得分:2)

只需投射发件人并获取其CommandParameter

var item = (Model)((Button)sender).CommandParameter;