2012-02-21 3 views
1

Контейнер сетки WPF с несколькими столбцами/столбцами с пользовательскими элементами, загруженными в разделы.Запретить перерисовку окна при изменении размера строки/столбца сетки

Некоторые строки/столбцы разворачиваются/сбрасываются путем установки ширины столбца/строки (от 0 до 125 * или фиксированного значения) на основе нажатия кнопки.

Простой пример кода:

If colgrdFolder1.Width.Value Then 
     Me.Width = Me.Width - colgrdFolder1.ActualHeight 
     colgrdFolder1.Width = New GridLength(0) 
    Else 
     Me.Width = Me.Width + 150 
     colgrdFolder1.Width = New GridLength(150) 
    End If 

Это работает, но когда родитель изменяет, он мигает, как/строка столбец устанавливается. Когда родительская ширина будет увеличена, вы можете увидеть изменение размера сетки, а затем, когда будет установлена ​​новая colWidth, она снова изменит размер (и начнет мигать).

Не существует ли свойство/способ заморозить окно/предотвратить перерисовку до тех пор, пока не будет изменен размер?

ответ

0

Я думаю, что есть методы BeginInit() и EndInit(), которые должны делать то, что вы хотите (предотвратите перерисовку), но по моему опыту они действительно не работали (возможно, я использовал их неправильно).

Я не знаю другого способа предотвратить перерисовку, возможно, кто-то из экспертов WPF может пролить немного света ...

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