2009-02-09 14 views
6

Bir DataGrid sütununa, x: name (xaml dosyasında tanımlandığı gibi) kullanarak arkadaki kodun içinden erişilebiliyor mu, bilen var mı? Mümkünse böyle bir şey kullanmayı tercih ediyorum ..amaBir Silverlight DataGrid Sütununa sütun dizini yerine ada göre erişim mümkün mü?

myDataGridList.Columns[0].Header = "Some Data"; 

:

ben aşağıdaki kodu kullanabilirsiniz biliyorum önceden

myDataGridList.Columns["ColumnName"].Header = "Some Data"; 

teşekkür ederiz.

cevap

13

Sütunlarda doğrusal arama yapmak için ObservableCollection'ı bir Linq veya foreach döngüsüyle uzatabilirsiniz.

public static class MyExtensions 
{ 
    public static DataGridColumn GetByName(this ObservableCollection<DataGridColumn> col, string name) 
    { 
     return col.SingleOrDefault(p => 
      (string)p.GetValue(FrameworkElement.NameProperty) == name 
     ); 
    } 
} 

Sonra, bunun yerine Sütunlar mülkiyet bu çağırabilirsiniz: Çok

myGrid.Columns.GetByName("theName"); 
+0

Teşekkürler - mükemmel çalışıyor. – cyberbobcat

+0

Güzel cevap. LINQ'u birçok yerde faydalı buluyorum ... –

İlgili konular