Удаление через контекстное меню

Создаю приложение список дел. Приложение из двух страниц. Первая страница - сам список. Вторая страница - страница ввода значения. Данные сохраняются в SQL. Пытаюсь сделать удаление через контекстное меню. Но выдает данную ошибку "System.ArgumentNullException: 'Value cannot be null.Parameter name: type"

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="MyTodoList.MainPage"
         Title="Заметки">

<StackLayout>
    <ListView x:Name="listView" 
              ItemSelected="OnListViewItemSelected">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <ViewCell.ContextActions>
                        <MenuItem Clicked="OnDeleteCliked"
                                  CommandParameter="{Binding .}"
                                  Text="Delete" 
                                  IsDestructive="True"/>
                    </ViewCell.ContextActions>
                    <StackLayout Padding="16,12" Orientation="Horizontal">
                        <CheckBox IsChecked="{Binding Done}"
                                  Color="Gray"/>
                        <Label Text="{Binding Text}"
                               TextColor="Black"/>
                    </StackLayout>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
    <Button Text="+"
            TextColor="Black"
            HorizontalOptions="Center"
            VerticalOptions="End"
            Margin="15"
            Clicked="OnAddClicked">
    </Button>
</StackLayout>
 public partial class MainPage : ContentPage
{
    
    public MainPage()
    {
        InitializeComponent();
    }

    protected override async void OnAppearing()
    {
        base.OnAppearing();
        listView.ItemsSource = await App.Database.GetNotesAsync();
    }

    private async  void OnAddClicked(object sender, EventArgs e)
    {
        await Navigation.PushAsync(new ToDoListPage
        {
            BindingContext = new TodoModel()
        });
        
    }

    async void OnListViewItemSelected(object sender, SelectedItemChangedEventArgs e)
    {
        if (e.SelectedItem != null)
        {
            await Navigation.PushAsync(new ToDoListPage
            {
                BindingContext = e.SelectedItem as TodoModel
            });
        }
    }

    //удаление 
    private async void OnDeleteCliked(object sender, EventArgs e)
    {
        var note = (TodoModel)BindingContext;
        await App.Database.DeleteNoteAsync(note);
    }

}

Пытался реализовать подобным методом. Ошибка ушла, но удаление не происходит.

 private async void OnDeleteCliked(object sender, EventArgs e)
    {
  var mi = ((MenuItem)sender);
        await App.Database.DeleteNoteAsync((TodoModel)mi.CommandParameter);
        
    }

Ответы (0 шт):