找不到 ItemTapped 事件处理程序的正确签名

Correct signature not found for ItemTapped event handler

我有以下 XAML 视图,点击项目时我想导航到详细信息页面:

 <ListView x:Name="ProductsList" ItemsSource="{Binding Products}"
                  HasUnevenRows="True"
                  SelectedItem="{Binding SelectedProduct}"
                  ItemTapped="ProductItem_OnTapped">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <local1:ProductTemplate />
                </DataTemplate>
            </ListView.ItemTemplate>
  </ListView>

这是处理程序:

public async void ProductItem_OnTapped(ItemTappedEventArgs e)
{
    var productDetailVM = new ProductDetailViewModel(SelectedProduct);
    var productDetailView = new ProductDetail();
    productDetailView.BindingContext = productDetailVM;

    await Application.Current.MainPage.Navigation.PushAsync(productDetailView);
}

我得到的错误是:

EventHandler "ProductItem_OnTapped" with correct signature not found in type "ProductTest.MainPage".

ProductItem_OnTapped 应该使用对象类型的第一个发送者参数声明,还要确保它在代码隐藏中定义(在本例中为 MainPage.xaml.cs)。

public async void ProductItem_OnTapped(object sender, ItemTappedEventArgs e)