Questo sembra essere un problema noto con WPF DataGrid. Vedere la discussione here (a partire dal 4 ° commento) Inoltre sembra essere stato risolto in .net 4. Ho effettuato alcuni test per questo problema sui framework 3.5 e 4 (beta2). Pls, vedere i risultati di seguito:
Prima ho definito 3 tipi di collezioni di articoli:
public class TestGridItems0 : ArrayList
{
}
public class TestGridItems1 : List<TestGridItem>
{
}
public class TestGridItems2<T> : List<TestGridItem>
{
}
dove TestGridItem è qui sotto:
public class TestGridItem
{
public string One { get; set; }
public string Two { get; set; }
public string Three { get; set; }
}
.net 3,5
TestGridItems0 e TestGridItems1 non ha mostrato una riga vuota per una collezione vuota; dove come TestGridItems2 ha funzionato bene.
NET 4
solo TestGridItems0 non ha mostrato la linea per la raccolta vuoto; gli altri 2 hanno funzionato bene.
XAML per la griglia:
<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>
sotto è come è stato assegnato elementi fonte:
dataGrid.ItemsSource = new TestGridItems0();
dataGrid.ItemsSource = new TestGridItems1();
dataGrid.ItemsSource = new TestGridItems2<TestGridItem>();
speranza che questo aiuti, riguarda
fonte
2010-01-16 19:27:15
inoltre, ciò che accade è che non puoi scorrere verso destra per vedere le colonne fuori dallo schermo, perché non hai barre di scorrimento orizzontali senza elementi. –