2015-05-11 9 views
0

Я начал проект с использованием .NET 4.5, теперь мне нужно переключиться на .NET 4.0. Все работает нормально, кроме «Items» - отсутствует свойство ItemContainerGenerator. Я использую его, чтобы найти строку DataGrid, которая начинается с буквы введенного ключа. Кодекс:ItemContainerGenerator.Items в .NET 4.0

 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" -Property присутствует и заполнены.

Знаете ли вы способ доступа к «Элементы» - свойство или обходное решение для получения той же функции без использования «Элементов»? Любые предложения будут приветствоваться.

+0

Я вижу это даже в 4.0 свойства: https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid_properties(v=vs.100) .aspx – xanatos

+0

Спасибо, я делал это слишком сложно. Примечание: Мне пришлось заменить ReadonlyCollection на ItemCollection. Не могли бы вы разместить его в качестве ответа, чтобы я мог отметить его как правильный ответ? – Breeze

ответ

0

The ItemContainerGenerator.Items, кажется, присутствует в .NET 4.0: https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid_properties(v=vs.100).aspx

.NET Framework 4 Другие версии

...

ItemContainerGenerator Получает ItemContainerGenerator, что связан с контролем. (Унаследовано от ItemsControl.)

+0

Решением было то, что сам DataGrid содержит Item-Property, к которому я обращался через ItemContainerGenerator раньше – Breeze

 Смежные вопросы

  • Нет связанных вопросов^_^