Ligne vide de la grid de données WPF en bas

Je lie ma grid de données en utilisant

//fill datagrid public DataTable GameData { get { DataSet ds = new DataSet(); FileStream fs = new FileStream(IMDB.WebPage.Class.Config.XMLPath, FileMode.Open, FileAccess.Read); StreamReader reader = new StreamReader(fs, Encoding.Default); ds.ReadXml(reader); fs.Close(); DataTable temp = ds.Tables[0]; return ds.Tables[0]; } } 

Pour une raison quelconque, je reçois une ligne vide en bas. Et parfois, après avoir cliqué sur certains boutons et cases à cocher dans la grid, plus de lignes vides sont ajoutées.

Pourquoi est-ce? Et comment puis-je bloquer cela?

Il CanUserAddRows que CanUserAddRows défini sur true pour DataGrid. Ajoutez simplement

 CanUserAddRows="false" 

au XAML.

Il fonctionne également avec l’atsortingbut:

 IsReadOnly="true" 

Si votre collection de sauvegarde qui implémente IEditableCollectionView renvoie true à partir de sa méthode CanAddNew , le DataGrid supposera que c’est ce que vous voulez faire.

Il y a une bonne vue d’ensemble ici: Vue d’ensemble des fonctionnalités d’édition dans le DataGrid WPF

Si vous créez DataGrid à la volée via le code source …

 DataGrid grid = new DataGrid(); grid.CanUserAddRows = false; //... grid.AutoGenerateColumns = false; grid.Margin = new Thickness(10,20,10,10); grid.VerticalAlignment = VerticalAlignment.Top; grid.ItemsSource = //... and so on