WPF datagrid底部为空行

时间:2009-11-23 15:26:31

标签: wpf datagrid

我使用

绑定我的数据网格
//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];
     }
 }

出于某种原因,我在底部得到一个空行。有时在点击网格中的一些按钮和复选框后,会添加更多空行。

这是为什么?我该怎么阻止这个?

5 个答案:

答案 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 () { }