【问题标题】:Get Model item in Xamarin on button clicked单击按钮时在 Xamarin 中获取模型项
【发布时间】:2019-08-27 16:07:26
【问题描述】:

我在 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 参数看到我想得到的东西:

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

【问题讨论】:

    标签: xamarin xamarin.forms


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。是的,这行得通。这是实现我正在寻找的好方法还是有更好的方法?我在 viewmodel 中看到了 Command 的一些方法,但我是 Xamarin 的新手,不知道如何使用这种方法。
    猜你喜欢
    • 2023-03-20
    • 2012-12-27
    • 2011-08-23
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多