Как исправить не найденный обработчик событий?
Я определил элемент панели инструментов (в MainPage.xaml), который использует событие "New_CLicked" (см. То, что вы пробовали). Это событие "New_Clicked" определено в файле MainPage.xaml.cs.
Теперь, если я запускаю сборку решения, я получаю ошибку
Position 8:33. EventHandler "New_Clicked" not found in type "TripLog.Views.MainPage
Может быть, я что-то пропустил? Полный код решения можно посмотреть на сайте: GitHub - saigkill/TripLog: мое решение для освоения Xamarin.Формы[^]
Что я уже пробовал:
Файл MainPage.язык XAML:
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="TripLog.Views.MainPage" Title="TripLog"> <ContentPage.ToolbarItems> <ToolbarItem Text="New" Clicked="New_Clicked" /> </ContentPage.ToolbarItems> <ContentPage.Content> <ListView x:Name="trips" ItemTapped="Trips_ItemTapped" ItemsSource="{Binding LogEntries}"> <ListView.ItemTemplate> <DataTemplate> <TextCell Text="{Binding Title}" Detail="{Binding Notes}" /> </DataTemplate> </ListView.ItemTemplate> </ListView> </ContentPage.Content> </ContentPage>
Файл MainPage.язык XAML.в CS:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; using TripLog.Models; using TripLog.ViewModels; namespace TripLog.Views { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); BindingContext = new MainViewModel(); void New_Clicked(object sender, EventArgs e) { Navigation.PushAsync(new NewEntryPage()); } async void Trips_ItemTapped(object sender, ItemTappedEventArgs e) { var trip = (TripLogEntry)e.Item; await Navigation.PushAsync(new DetailPage(trip)); // Clear selection trips.SelectedItem = null; } } } }