Это, кажется, известная проблема с WPF DataGrid. См. Обсуждение here (начиная с 4-го комментария) Также он исправляется в .net 4. Я сделал несколько тестов для этой проблемы в форматах 3.5 и 4 (beta2). Pls, увидеть результаты ниже:
Первого я определил 3 типа коллекций элементов:
public class TestGridItems0 : ArrayList
{
}
public class TestGridItems1 : List<TestGridItem>
{
}
public class TestGridItems2<T> : List<TestGridItem>
{
}
где TestGridItem ниже:
public class TestGridItem
{
public string One { get; set; }
public string Two { get; set; }
public string Three { get; set; }
}
.net 3,5
TestGridItems0 и TestGridItems1 не отображалась пустая строка для пустой коллекции; где TestGridItems2 отлично работает.
.net 4
только TestGridItems0 не показывать линию для пустого набора; другие 2 работали нормально.
XAML для сетки:
<my:DataGrid Name="dataGrid" AutoGenerateColumns="False" CanUserAddRows="True">
<my:DataGrid.Columns>
<my:DataGridTextColumn Binding="{Binding One}" Header="One" />
<my:DataGridTextColumn Binding="{Binding Two}" Header="Two" />
<my:DataGridTextColumn Binding="{Binding Three}" Header="Three" />
</my:DataGrid.Columns>
</my:DataGrid>
ниже, как был назначен источник пунктов:
dataGrid.ItemsSource = new TestGridItems0();
dataGrid.ItemsSource = new TestGridItems1();
dataGrid.ItemsSource = new TestGridItems2<TestGridItem>();
надеюсь, что это помогает, считает
также случается, что вы не можете прокрутить вправо, чтобы увидеть столбцы, которые находятся вне экрана, потому что у вас нет горизонтальных полос прокрутки без элементов. –