首页 > 解决方案 > 如何通过Button获取ListView的行项?

问题描述

要获得它的选定项目ListView很容易通过:

myObject myObjectName = e.Item as myObject ;

那是ItemTappedEventArgsItem属性的。

但是,如果我想在单元格内放置一个按钮并且我想获取在EventArgs没有Item属性的情况下单击其按钮的单元格的项目,如何获得?

标签: xamarin.forms

解决方案


尝试这样的事情,将您的项目列表绑定到列表视图的 Itemsource,如果您有一个按钮或图像具有如下所示的点击事件映射,您可以从列表中获取所选项目。当事件映射到图像的点击手势时,代码将转换为图像。

列表视图中的图像将是,

<Image  Source="app_dots" Grid.Column="2" VerticalOptions="Start">
                                    <Image.GestureRecognizers>
                                        <TapGestureRecognizer
                                            Tapped="more_Tapped"
                                            NumberOfTapsRequired="1"/>
                                    </Image.GestureRecognizers>
                                </Image>

以及 Tap 事件的代码,

async void more_Tapped(object sender, System.EventArgs e)
    {
        ApplicationModel applicationModel = ((ApplicationModel)((Image)sender).BindingContext);
        if (applicationModel != null)
        {
            //do your logic;
        }
    }

推荐阅读