我使用
绑定我的数据网格//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];
}
}
出于某种原因,我在底部得到一个空行。有时在点击网格中的一些按钮和复选框后,会添加更多空行。
这是为什么?我该怎么阻止这个?
答案 0 :(得分:407)
听起来您可能已将CanUserAddRows
设置为DataGrid的true。只需添加
CanUserAddRows="false"
到XAML。
答案 1 :(得分:17)
它也适用于属性:
IsReadOnly="true"
答案 2 :(得分:13)
如果实现IEditableCollectionView
的后备集合从其CanAddNew
方法返回true,则DataGrid将认为这是您想要做的。
这里有一个很好的概述:Overview of the editing features in the WPF DataGrid
答案 3 :(得分:3)
如果您是通过源代码即时创建DataGrid ...
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
答案 4 :(得分:1)
尽管OP正在询问如何删除空白行,但标题并不具体,并且这篇文章出现在我的搜索中,试图找出如何添加空白行。我发现,要显示空白行,它不仅需要具有CanUserAddRows="True"
,而且ItemsSource
还需要具有默认的构造函数public MyClass () { }
。