列表视图的单击或点击事件网格内的图像

Mah*_*344 0 xamarin xamarin.forms

我正在使用xamarin表单跨平台应用程序。我在listview里面有网格,在Grid里面有图像。我想用选定的项目/图像触发事件,但我不知道该怎么办。

我发现这可以通过使用来实现,GestureRecognizers 但是如何在我的视图模型中实现

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

Ziy*_*dil 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>
Run Code Online (Sandbox Code Playgroud)

编辑

ViewModel代码

声明命令

public ICommand RemoveInvoiceItemCommand { get; }
Run Code Online (Sandbox Code Playgroud)

在构造函数中初始化命令

RemoveInvoiceItemCommand = new Command(() =>
            {
               RemoveInvoiceItem();
            });
Run Code Online (Sandbox Code Playgroud)

创建功能

 public void RemoveInvoiceItem()
    {
       //Do stuff
    }
Run Code Online (Sandbox Code Playgroud)