列表视图网格内的图片点击或点按事件

时间:2017-09-28 08:53:17

标签: xamarin xamarin.forms

我正在开发xamarin表单跨平台应用程序。 我有listview里面有Grid和Grid里面有图像。 我想用选定的项目/图像激活事件,但我不知道如何做到这一点。

我发现这可以使用GestureRecognizers来实现,但如何在我的viewmodel中实现

请与完整代码分享一些示例,我的意思是xaml以及背后的代码

1 个答案:

答案 0 :(得分:5)

尝试以下代码:

<ListView x:Name="InvoiceItemList" HasUnevenRows="true" ItemsSource="{Binding InvoiceLineItems}" SeparatorVisibility="None">
 <ListView.ItemTemplate>
    <DataTemplate>
       <ViewCell>
          <Image Source="overlaybg" Aspect="Fill">
                <Image.GestureRecognizers>
                    <TapGestureRecognizer Tapped="{Binding Source={x:Reference InvoiceItemList}, Path=BindingContext.RemoveInvoiceItemCommand}" />
                </Image.GestureRecognizers>
            </Image>
       </ViewCell>
    </DataTemplate>
 </ListView.ItemTemplate>
</ListView>

修改

ViewModel代码

声明命令

public ICommand RemoveInvoiceItemCommand { get; }

构造函数中的Initalize命令

RemoveInvoiceItemCommand = new Command(() =>
            {
               RemoveInvoiceItem();
            });

创建功能

 public void RemoveInvoiceItem()
    {
       //Do stuff
    }