[WPF] DataGrid - нереальные тормоза
От: Экселенц Россия  
Дата: 18.03.11 18:04
Оценка: 2 (1)
Привет!
Не знаю, плакать или смеяться. Никогда в жизни не видел таких нереальных и необоснованных тормозов.
Есть окно, базовый контейнер компоновки — Grid. Два столбца, две колонки, соответственно, четыре ячейки. В три из них я положил по кнопке. В четвёртую (левую нижнюю) — DataGrid. В DataGrid один столбец — текстовый. Туда я добавил 5000 строк.
При открытии такого окна наблюдаются совершенно нереальные тормоза, секунд 30. Когда оно всё-таки откроется, если попробовать его проресайзить — такие же жуткие тормоза.
Теперь самое главное. Стоит из правой верхней ячейки убрать кнопку — всё начинает работать без малейших тормозов. Т.е. наличие какой-то паршивой кнопки в одной из ячеек контейнера компоновки вызывает такой эффект. Я приаттачил скриншот, на нём эта проблемная кнопка названа Fake button 2.
Также приаттачил минимальный тестовый проект, воспроизводящий проблему (студия 2010). Открываете, компилируете, запускаете. Жмёте кнопку Open Grid Window. Всё откроется быстро. Но стоит раскомментировать в DataGridWindow.xaml вот этот фрагмент:
        <!--
        <Button Grid.Row="0" Grid.Column="1" Content="Fake button 2" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="8, 8, 8, 8"/>
        -->

получите те самые дичайшие тормоза...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.