I want to delete item from ListView and ViewModel ObservableRangeCollection in Xamrin.Form.
Here is my code. Please suggest.
EmployeeResultsPage
<ListView x:Name="EmployeeResultsListView"
ItemsSource="{Binding EmployeeResults}"
RowHeight="200"
IsPullToRefreshEnabled="true"
RefreshCommand="{Binding RefreshDataCommand}"
IsRefreshing="{Binding IsRefreshingData, Mode=OneWay}"
ItemAppearing="Employee_ItemAppearing"
<ListView.ItemTemplate>
<DataTemplate>
<local:EmployeeResultViewCell />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
EmployeeResultViewModel
[ImplementPropertyChanged]
public class EmployeeResultsViewModel : ViewModelBase
{
private async Task LoadEmployee()
{
EmployeeResults = GetDataUsingAPI(); //15 records per call
}
public ObservableRangeCollection<ExtendedEmployee> EmployeeResults { get; set; }
public string EmployeePhotoUrl { get; set; }
public string EmployeeName { get; set; }
}
CS File
public partial class EmployeeResultViewCell : CustomViewCell
{
public EmployeeResultViewCell()
{
InitializeComponent();
}
protected override void OnBindingContextChanged()
{
base.OnBindingContextChanged();
var employee = (BindingContext as ExtendedEmployee);
}
private void MenuItemDelete_Clicked(object sender, System.EventArgs e)
{
//want to delete from list view
//want to delete from ObservableRangeCollection<ExtendedEmployee> EmployeeResults defined in EmployeeResultViewModel
}
}
EmployeeResultViewCell
I use <ViewCell.ContextActions> like MenuItem Text="Delete" IsDestructive="True" Clicked="MenuItemDelete_Clicked"
Please suggest.