【问题标题】:Correct signature not found for ItemTapped event handler未找到 ItemTapped 事件处理程序的正确签名
【发布时间】:2021-05-09 08:07:32
【问题描述】:

我有以下 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”。

【问题讨论】:

    标签: c# xamarin xamarin.forms xamarin.android


    【解决方案1】:

    ProductItem_OnTapped 应该使用 object 类型的第一个 sender 参数声明,同时确保它在代码隐藏中定义(在这种情况下为MainPage.xaml.cs)。

    public async void ProductItem_OnTapped(object sender, ItemTappedEventArgs e)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 2012-04-20
      • 2017-10-15
      相关资源
      最近更新 更多