2009-08-26 8 views
35

Bununla burada fındık alıyorum: Eğer liste değişkeni hata ayıklamaBir ObservableCollection <T> için bağlanırken DataGrid'in boş satırı nasıl kaldırılır?

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

, boşalıncaya (list.Count = 0), ama sonra bir DataGrid (WPFToolkit) onu bağlamak, bu beni gösteriyor boş bir satır. dgEmployees.Items için gösteriyor hemen penceresinde

:

dgEmployees.Items[0] 
{NewItemPlaceholder} 

ve

dgEmployees.Items[0].GetType() 
{Name = "NamedObject" FullName = "MS.Internal.NamedObject"} 
[System.RuntimeType]: {Name = "NamedObject" FullName = "MS.Internal.NamedObject"} 
Ben bir TabControl içine bu veri kılavuzunu koyduk sonra ne gibi görünüyor, ama değilim

onunla bir ilgisi olduğundan emin.

Bu boş satırın nasıl kaldırılacağını bilen var mı?

+1

Diğer cevabı kabul etmelisiniz, bu sizin gerçekten – reggaeguitar

cevap

18

Ben veri kılavuzunu XAML üzerinde o

var, niteliği koyun:

IsReadOnly="True" 
72

aynı sorunu DataGrid WPF 4.0 sürümünde inat ve eklenti yeni satıra neden olur ki ObservableCollection ItemsSource için otomatik olarak gösterir. IsReadOnly değerini True olarak ayarlamak çok radikal IMHO'dur.
Bunu davranışı gerekmiyorsa CanUserAddRows özelliğini devre dışı bırakıp onu çözmüş, ancak yine de hücreler değiştirilecek istiyorum:

CanUserAddRows = "Yanlış" hem

+0

'dan çok daha iyi bir şekilde kabul edilmedikçe, eğer gerçekten okunduğunda kabul edilemez. – Jon

+0

Teşekkürler, bu cevap bana, IsReadOnly'den çok daha fazla yardımcı oldu, ki benim durumumda, istemediğim bazı yan etkiler vardı. – Dessus

+1

IsReadOnly'un yan etkileri olduğu için bunu yanıt olarak işaretleyebiliriz, bu durum böyle değil mi? – Shreyas

2

CanUserAddRows="False" ve IsReadOnly="True" kombinasyonu herhangi bir ek sıkıntı sağlamak için daha iyidir.

+0

, hangisinin yeterli olacağı ve aslında "IsReadOnly = true", başka hiçbir işlevi hiçbir kazanç olmadan kaldırabileceği iki örtüşen işlevi kullanmasını öneriyorsunuz. – NappingRabbit