微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决找不到 ItemTapped 事件处理程序的正确签名

我有以下 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);
}

我得到的错误是这样的:

在类型“ProductTest.MainPage”中找不到具有正确签名的事件处理程序“ProductItem_OnTapped”。

解决方法

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

public async void ProductItem_OnTapped(object sender,ItemTappedEventArgs e)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。