WPF макет вызывает MeasureOverride несколько раз с шагом 2? - PullRequest
1 голос
/ 14 июня 2010

Я столкнулся со случаем, когда у меня есть пользовательская панель (наследуется от Panel), и я использую ее как ItemsPanel в ListView.

Когда я изменяю размер контейнера, в котором он находится, еслиЯ изменяю его размер меньше, функция MeasureOverride моей панели вызывается один раз, но если я изменяю его размер больше (скажем, от 100 до 300), он вызывает MeasureOverride и ArrangeOverride для каждого значения от 100 до 300 с шагом 2 (так что 102, 104и т. д.).

Странная вещь заключается в том, что размер контейнера сразу же изменяется (его размер сразу достигает 300).

Кажется, не имеет значения, что я возвращаю из MeasureOverride - этопросто делает это.

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

Кто-нибудь знает, что может вызвать это?

1 Ответ

0 голосов
/ 14 июня 2010

Мне удалось обойти это поведение, динамически установив свойство MinWidth моей панели так, чтобы оно изменялось с размером контейнера.Это предотвратило ненужные вызовы MeasureOverride.Я все еще немного не уверен, почему это происходило.

...