WPF数据网格底部的空行


201

我使用绑定我的数据网格

//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];
     }
 }

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

为什么是这样?我该如何阻止呢?

Answers:


447

听起来您可能已将CanUserAddRowsDataGrid设置为true。只需添加

CanUserAddRows="false"

到XAML。


13
请记住,即使未选中网格属性中的复选框,您也必须显式添加该行代码以隐藏其他行(或选中并取消选中该复选框)
Tobias Valinski 2013年

6
如果您不想要代码,请添加属性CanUserAddRows =“ False”。看起来好像WPF中的错误,您必须将其显式设置为false。
ZZZ 2013年

我宁愿有相反的问题。它不会创建一个空行,而我希望这样做。
Shimmy Weitzhandler,

21

它也适用于以下属性:

IsReadOnly="true"

这更好的工作比CanUserAddRows&CanUserDeleteRows
RDV


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

0

尽管OP正在询问如何删除空白行,但标题并没有具体说明,并且在我的搜索中出现了这篇文章,试图找出如何添加空白行。我发现,要显示空行,它不仅需要具有默认构造函数,CanUserAddRows="True"而且还ItemsSource需要具有默认构造函数public MyClass () { }

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.