У меня есть просмотр списка, который заполняется из БД SQLite.Для этого списка были созданы методы для обработки при нажатии элемента списка:
xaml cell:
<ListView x:Name="CalculationListview" ItemsSource="{Binding Calculation}" HasUnevenRows="true" IsPullToRefreshEnabled="true" Refreshing="Handle_Refreshing">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell Tapped="Handle_Tapped">
<ViewCell.ContextActions>
<MenuItem Text="Delete" IsDestructive="True" Clicked="Handle_Clicked" />
</ViewCell.ContextActions>
<StackLayout>
<Label Text="{Binding Qty}">
</Label>
<Label Text="{Binding Note}">
</Label>
<Label Text="{Binding Id}">
</Label>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
c #
async void Handle_Tapped(object sender, System.EventArgs e)
{
var viewCellSelected = sender as MenuItem;
var calculation = viewCellSelected?.BindingContext as Calculation;
var page = new ViewSaved(calculation);
await Navigation.PushModalAsync(page);
}
Как видите,Я хочу получить объект Calculation
из заданного элемента списка и отправить объект в новое представление с именем ViewSaved
.
К сожалению, моя переменная calculation
остается нулевой, и я получаю исключение, когда отправляю пустой объект в новое представление.
Я подозреваю, что проблема sender as MenuItem;
.