ItemContainerGenerator.Items 在 .NET 4.0 中

ItemContainerGenerator.Items in .NET 4.0

我使用 .NET 4.5 开始了一个项目,现在我必须切换到 .NET 4.0。一切正常,除了缺少 ItemContainerGenerator 的 "Items"-属性。我用它来查找以键入键的字母开头的 DataGrid 行。 代码是:

     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;
          }
     }

注意:调试时,"Items"-属性存在并填充。

您是否知道访问 "Items"-属性 的方法或无需使用 "Items"-属性 即可获得相同功能的解决方法?欢迎任何建议。

ItemContainerGenerator.Items 似乎出现在 .NET 4.0 中:https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid_properties(v=vs.100).aspx

.NET Framework 4 Other Versions

...

ItemContainerGenerator Gets the ItemContainerGenerator that is associated with the control. (Inherited from ItemsControl.)