【发布时间】:2015-11-19 04:44:05
【问题描述】:
我的 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 次)。
任何想法如何解决这个问题?
【问题讨论】:
-
canuseraddrows = false ?额外的行看起来像网格尝试添加的新行,如果您将 canuseraddrows 设置为 false,它应该会消失
-
是的,它正在工作!但是为什么我在第二个 DataGrid 中不需要它呢?两个都没有这个属性。
-
这可能取决于许多因素,起点是检查 someOtherType 是否为 IEditableObject ?
标签: c# wpf vb.net xaml datagrid