2017-02-20 28 views
1

У меня есть окно WPF, содержащее Datagrid. Окно запускается в полноэкранном режиме и заполняется датадайд. Затем я восстанавливаю окно вниз, и внезапно процесс начинает требовать память, пока он не сработает. Принимая снимки памяти до и после изменения размера, я вижу, что память требуется все большее число объектов типа DataGridCellItemAutomationPeer и DataGridItemAutomationPeer.Изменение размера окна вызывает нехватку памяти datagridcellitemautomationpeer

Пользователь Gdir указал, что я уже сообщал об аналогичной проблеме (WPF System.OutOfMemoryException System.Windows.Automation.Peers.AutomationPeer.UpdateSubtree), но, похоже, это не тот же случай.

Странно, похоже, что это происходит только на некоторых машинах, в то время как у меня есть хотя бы одна машина, на которой проблема не возникает.

копать глубже, это выглядит как метод

protected override System.Windows.Automation.Peers.AutomationPeer OnCreateAutomationPeer() 

вызывается только на некоторых машинах. Что такое дискриминатор, вызывающий вызов этого метода?

Любые подсказки, чтобы помочь мне решить эту проблему?

Спасибо!

+0

Вы сообщили о [аналогичной проблеме] (http://stackoverflow.com/questions/32483711/wpf-system-outofmemoryexception-system-windows-automation-peers-automationpeer-u) в сентябре 2015 года. Связано это? – gdir

+0

Спасибо! Я забыл, что этот пост был моим. В любом случае, похоже, это не тот же случай. Я обновляю свой вопрос, чтобы добавить более подробную информацию. –

ответ

0

(Это лишь частичный ответ)

Оказывается, что извлечение исходного DataGrid кода и удаление метод

protected override System.Windows.Automation.Peers.AutomationPeer OnCreateAutomationPeer() 

из всех DataGrid связанных классов, эта проблема уходит. Подозревается, что некоторые ошибки в классе DataGridAutomationPeer генерируют бесконечный цикл в определенных обстоятельствах.

По-прежнему непонятно, почему вызывается OnCreateAutomationPeer и почему проблема возникает только на некоторых машинах.

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

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