.NET 4.5 を使用してプロジェクトを開始しましたが、.NET 4.0 に切り替える必要があります。「Items」-ItemContainerGenerator のプロパティがないことを除いて、すべて正常に動作します。入力されたキーの文字で始まる 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" プロパティが存在し、入力されます。
「アイテム」プロパティにアクセスする方法、または「アイテム」プロパティを使用せずに同じ機能を取得するための回避策を知っていますか? どんな提案も歓迎します。