2015-05-11 71 views
0

我使用.NET 4.5啓動了一個項目,現在我必須切換到.NET 4.0。一切工作正常,除了ItemContainerGenerator的「Items」屬性丟失。我用它來查找以鍵入鍵的字母開頭的DataGrid的行。 的代碼是:.NET 4.0中的ItemContainerGenerator.Items

 ReadOnlyCollection<object> rows = datagrid.ItemContainerGenerator.Items; 
    datagrid.ScrollIntoView(rows[rows.Count - 1]); 
    foreach (DataRowView row in rows) 
    { 
      string name = row.Row.ItemArray[0].ToString(); 
      if (name.StartsWith(keyChar + "", StringComparison.OrdinalIgnoreCase)) 
      { 
       datagrid.ScrollIntoView(row); 
       datagrid.UpdateLayout(); 
       return; 
      } 
    } 

注:調試時,「項目」,物業存在並填補。

你知道一種方法來訪問「項目」 - 屬性或變通方法來獲得相同的功能,而不使用「項目」屬性?任何建議都會受到歡迎。

+0

即使在4.0屬性中也可以看到它:https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid_properties(v=vs.100) .aspx – xanatos

+0

謝謝,我一直在做它太複雜。 注意:我必須用ItemCollection替換ReadonlyCollection 。 你可以發佈它作爲答案,所以我可以將其標記爲正確答案? – Breeze

回答