Esto parece ser un problema conocido con WPF DataGrid. Consulte la discusión here (a partir del cuarto comentario) También parece estar corregido en .net 4. He realizado algunas pruebas para este tema en los marcos 3.5 y 4 (beta2). Pls, ver los resultados siguientes:
En primer lugar he definido 3 tipos de colecciones de artículos:
public class TestGridItems0 : ArrayList
{
}
public class TestGridItems1 : List<TestGridItem>
{
}
public class TestGridItems2<T> : List<TestGridItem>
{
}
donde TestGridItem es el siguiente:
public class TestGridItem
{
public string One { get; set; }
public string Two { get; set; }
public string Three { get; set; }
}
.NET 3.5
TestGridItems0 y TestGridItems1 no mostró una línea vacía para una colección vacía; donde como TestGridItems2 funcionó bien.
.net 4
única TestGridItems0 no mostró la línea de la colección vacía; otros 2 funcionó bien.
xaml para la red:
<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>
a continuación es cómo se asigna fuente de artículos:
dataGrid.ItemsSource = new TestGridItems0();
dataGrid.ItemsSource = new TestGridItems1();
dataGrid.ItemsSource = new TestGridItems2<TestGridItem>();
esperanza que esta ayuda, que se refiere a
Además, lo que ocurre es que no se puede desplazar hacia la derecha para ver las columnas que están fuera de la pantalla, porque no tiene barras de desplazamiento horizontales sin elementos. –