Bonjour, j'ai une question je n'arrive pas à supprimer un élement de ma liste box voici mon code quand je clique sur le bouton supprimer le programme plante
ça dit comme erreur :System.NullReferenceException : 'La référence d'objet n'est pas définie à une instance d'un objet.' l'erreur se trouve dans la méthode private void LsbCategorieD_SelectionChanged(object sender, SelectionChangedEventArgs e)
pouvez vous m'aider merci
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Collections.ObjectModel;
using System.Windows.Shapes;
namespace TP2_JeuxSociete
{
/// <summary>
/// Logique d'interaction pour CategorieJeu.xaml
/// </summary>
public partial class FCategorieJeu : Window
{
public static ObservableCollection<CategorieJeu> cat = new ObservableCollection<CategorieJeu>();
CategorieJeu j = new CategorieJeu();
public ObservableCollection<JeuSociete> listeJeu = new ObservableCollection<JeuSociete>();
public FCategorieJeu(MainWindow mainWindow)
{
InitializeComponent();
cat = CategorieJeu.ChargerFichier();
lsbCategorieD.ItemsSource = cat;
listeJeu= (ObservableCollection<JeuSociete>)mainWindow.dgListeJeux.ItemsSource;
/* label1.Content = question;
txbCat.Text = ReponseParDefaut;
Title = titre;*/
}
private void BtnAjouterNouvelleCategorie_Click(object sender, RoutedEventArgs e)
{
cat.Add(new CategorieJeu()
{
Nom = txbCat.Text
}) ;
}
private void LsbCategorieD_Selected(object sender, RoutedEventArgs e)
{
}
private void Window_ContentRendered(object sender, EventArgs e)
{
txbCat.SelectAll();
txbCat.Focus();
}
public string Reponse { get { return txbCat.Text; } }
private void LsbCategorieD_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
int compteur = 0;
// lbl_Numero.Content=;
foreach (var jeu in listeJeu)
{
foreach (var categorie in jeu.LstCategorie)
{
if (categorie.Nom == (lsbCategorieD.SelectedItem as CategorieJeu).Nom)
{
compteur++;
}
}
}
lbl_Numero.Content = compteur;
foreach (CategorieJeu item in lsbCategorieD.SelectedItems)
{
label1.Content = item.Nom;
}
// lbl_Numero.Content=;
}
private void BtnModif_Click(object sender, RoutedEventArgs e)
{
if (CategorieJeu.EstValide(txbModif.Text))
{
MessageBox.Show("Erreur la catégorie existe");
}
else
{
(lsbCategorieD.SelectedItem as CategorieJeu).Nom = txbModif.Text;
}
}
private void BtnSupprimer_Click(object sender, RoutedEventArgs e)
{
if (lsbCategorieD.SelectedItem != null)
{
cat.Remove(lsbCategorieD.SelectedItem as CategorieJeu);
}
}
}
}
if (lsbCategorieD.SelectedItem !=null)
{
foreach (var jeu in listeJeu)
{
foreach (var categorie in jeu.LstCategorie)
{
if (categorie.Nom == (lsbCategorieD.SelectedItem as CategorieJeu).Nom)
{
compteur++;
}
}
}
}