Saltar al contenido

¿Cómo eliminar un elemento de un ListView de Xamarin Forms?

Basta ya de buscar en internet porque has llegado al espacio perfecto, tenemos la solución que quieres pero sin complicaciones.

Solución:

Esto es lo que podrías hacer:

Esta es mi clase modelo:

public class Item  
  
   public string ItemName  get; set;   
   public string ItemDetails  get; set;   
  

Y en mi XAML o también puede escribir esto en código, enlazar con el Command Parameter de su plantilla de artículo:


La plantilla completa del artículo será como se muestra a continuación:

  
              
                 
                    
                       
                          
                          
                       
                    
                 
              
             

Y en tu archivo de código puedes hacer esto:

public void DeleteClicked(object sender, EventArgs e)  
  
   var item = (Xamarin.Forms.Button)sender;  
   Item listitem = (from itm in allItems 
                    where itm.ItemName == item.CommandParameter.ToString() 
                    select itm)
                   .FirstOrDefault();  
   allItems.Remove(listitem);  
  

IMPORTANTE : Esto solo eliminaría el elemento de la colección enlazada. Para eliminarlo de la lista original, debe usar ObservableCollection

Aquí está el código fuente completo del escenario explicado: Manejo de eventos de control de niños en Listview usando XAMARIN.FORMS.

También el Tutorial: cómo manejar la selección de filas y eliminar el botón en la fila para ListView personalizado usando Xamarin.Forms explica la eliminación de un listview así como.

He encontrado un enfoque similar y quiero compartirlo. Llené la lista con un ObservableCollection. Luego llené el CommandParameter con solo CommandParameter="Binding .". Así que recuperé todo el Objeto. Entonces puedes lanzar el CommandParametera su Objeto y eliminarlo de la ObservableCollection Lista

XAML:

CommandParameter="Binding ."

Llenando mi Lista:

savingExpensesCollection = new ObservableCollection ();
savingExpensesCollection .Add (new SavingsExpensesEntry ("1000 mAh Akku", "Dampfgarten", new DateTime (635808692400000000), 8.95));
savingExpensesCollection .Add (new SavingsExpensesEntry ("Cool-Mint Aroma", "Dampfgarten", new DateTime (635808692400000000), 3.95));
savingExpensesCollection .Add (new SavingsExpensesEntry ("Basis", "Dampfgarten", new DateTime (635808692400000000), 13.65));

savingExpensesList.ItemsSource = savingExpenses;

Controlador de eventos:

void OnDelete(object sender, EventArgs e)

    var menuItem = ((MenuItem)sender);
    SavingsExpensesEntry see ((SavingsExpensesEntry)menuItem.CommandParameter);
    savingExpensesCollection .Remove (see);

estoy usando un MenuItem pero es el mismo enfoque con un Button

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *