【问题标题】:DataGrid.Items.Count doesn't work as per expectationDataGrid.Items.Count 不能按预期工作
【发布时间】:2018-07-03 05:47:59
【问题描述】:

我有一个名为 datagrid1 的 WPF DataGrid,我想检查 DataGrid 行是否不为空。

那我怎么能做到这一点。我试过了,但失败了。

if (dataGrid1.Items.Count != 0)
{
      //submit
}
else
{
      MessageBox.Show("Data Grid is empty");
}

【问题讨论】:

  • 失败是什么意思?你得到什么错误?请提供minimal reproducible example
  • 失败意味着即使我的数据网格是空的,它也会在阻塞时执行
  • 失败意味着即使我的数据网格是空的,它也会执行 if 块,但我希望如果数据网格是 epmty,它应该转到 else 块。

标签: c# .net wpf


【解决方案1】:

你需要设置CanUserAddRowsfalse:

<DataGrid Name="dataGrid1" CanUserAddRows="false"></DataGrid>

您通常在DataGrid 的底部看到一个空行。这就是为什么,即使您的 DataGrid 为空,您也不会转到 else 部分。

【讨论】:

  • CanUserAddRows="false" 会有什么影响??
  • @JahanzaibNiazi 试试吧,你会看到结果。您通常会在 DataGrid 的底部看到一个空行。这就是为什么,即使你的 DataGrid 是空的,你也不去 else 部分。