我的WPF .net应用程序中有两个DataGrid。其中一个工作正常,另一个正在创建一个(空)行,我不知道将其添加到何处。数据网格与我非常相似。
这是生成网格的方式:
<DataGrid AutoGenerateColumns="False"
Name="grid1">
<DataGrid.Columns >
<DataGridTextColumn Binding="{Binding Path=HUHU}" MinWidth="120" Header="HUHU" />
... some columns
</DataGrid.Columns>
</DataGrid>
<DataGrid AutoGenerateColumns="False"
Name="grid2" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=HU}" MinWidth="50" Header="HU" />
... some columns
</DataGrid.Columns>
</DataGrid>
这是填充网格的方式:
Dim grid1Source = New List(Of SomeType)
For Each a As SomeType In MyFunctions.GetAllCalendarItems(CalendarPicker.SelectedDate)
grid1Source.Add(a)
Next
grid1.ItemsSource = gird1Source
Dim grid2Source = New List(Of SomeOtherType)
For Each fa As SomeOtherTypeIn MyFunctions.GetsomeCalendarItems(CalendarPicker.SelectedDate)
grid2Source.Add(fa)
Next
grid2.ItemsSource = grid2Source
现在棘手的事情是:它们看起来不一样。其中之一包含一个空行。 (您可以在下面的图片中看到它)并不是因为该函数返回了错误/空的对象(已通过调试器检查了500次)。
任何想法如何解决这一问题?
最佳答案
看起来,此额外的行是dataGrid提供的新行。您需要标记CanUserAddRows = False
才能停止此功能。
这将阻止网格允许用户添加新行。
另外,请阅读this以获得有关CanUserAddRows如何工作的更多信息。
CanUserAddRows如果DataGrid不是ReadOnly和IsEnabled,则为True,
CanUserAddRows设置为true,IEditableCollectionView.CanAddNew为
真正