要获取ListView
的选定项目,很容易:
myObject myObjectName = e.Item as myObject ;
而ItemTappedEventArgs
具有Item
属性。
但是如果我想在单元格中放置一个按钮并且想获得在EventArgs
没有Item
属性的情况下单击按钮的单元格的项目,怎么获得?
答案 0 :(得分:2)
尝试类似的操作,将您的商品列表绑定到listview的Itemsource,如果您的按钮或图像具有如下所示的点击事件映射,则可以从列表中获取所选商品。该事件将映射到Image的Tap手势时,代码将强制转换为Image。
列表视图中的图片将是
<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;
}
}
答案 1 :(得分:0)
完成该任务的最简单方法是将CommandParameter="{Binding .}"
放入您的ListView
和后面的代码中:
TappedEventArgs tappedEventArgs = e as TappedEventArgs;
myObject myObjectName = tappedEventArgs.Parameter as myObject ;