2009-08-26 9 views
35

mi sto noci qui con questo:Come rimuovere la riga vuota di DataGrid durante il collegamento a ObservableCollection <T>?

ObservableCollection<Employee> list = new ObservableCollection<Employee>(); 
dgEmployees.ItemsSource = list; 

Durante il debug variabile di lista, è vuota (list.Count = 0), ma poi ho associarlo a un DataGrid (WPFToolkit), mi mostra una riga vuota.

Nella finestra immediata, per dgEmployees.Items sta mostrando:

dgEmployees.Items[0] 
{NewItemPlaceholder} 

e

dgEmployees.Items[0].GetType() 
{Name = "NamedObject" FullName = "MS.Internal.NamedObject"} 
[System.RuntimeType]: {Name = "NamedObject" FullName = "MS.Internal.NamedObject"} 

Sembra accadere dopo che ho messo questo Datagrid in un TabControl, ma non sono certo che ha qualcosa a che fare con esso.

Qualcuno sa come rimuovere questa riga vuota?

+1

Dovresti accettare l'altra risposta, è meglio della tua – reggaeguitar

risposta

18

li ho

su Datagrid XAML, mettere l'attributo:

IsReadOnly="True" 
72

Lo stesso problema persiste in WPF versione 4.0 di DataGrid, ed è causata dalla fila l'aggiunta del nuovo che viene mostrato automaticamente per ObservableCollection ItemsSource. Impostare IsReadOnly come True è troppo radicale IMHO.
ho risolto disattivando proprietà CanUserAddRows se non è necessario che il comportamento, ma si vuole ancora le celle da modificare:

CanUserAddRows = "false"

+0

concordata a meno che non sia veramente di sola lettura quindi sembra oltre l'uccisione. – Jon

+0

Grazie, questa risposta mi ha aiutato molto più di IsReadOnly che nel mio caso ha avuto alcuni effetti collaterali che non volevo. – Dessus

+1

Possiamo contrassegnarlo come la risposta come IsReadOnly ha effetti collaterali mentre questo non lo fa? – Shreyas

2

CanUserAddRows="False" e IsReadOnly="True" combinazione di entrambi è meglio garantire ulteriori inconvenienti.

+0

si sta suggerendo di utilizzare due funzionalità sovrapposte in cui uno sarà sufficiente e in effetti 'IsReadOnly = true' rimuoverà altre funzionalità senza alcun guadagno. – NappingRabbit