none
SizeChanged и Кнопка "Свернуть в окно" WPF RRS feed

  • Вопрос

  • Почему событие SizeChanged для Gridа, расположенного на форме, при нажатии на кнопку "свернуть в окно" происходит не при окончании изменения размера, а где то посередине? При нажатии же кнопки "развернуть" все прекрасно работает. Мне необходимо выводить данные в зависимости от размера, и из за срабатывания не при конечных размерах данные выводятся криво.

Ответы

  • Ну раз ваш случай немного специфичный, то поробуйте выполнять нужный код в событии SizeChanged не для Gridа, а для окна, так как оно будет срабатывать раньше. В WPF события проходят по всему дереву в зависимости от точки и вызова, то есть могут вверх, а могут вниз. В случае с изменением размеров окна, я полагаю, что первым срабатывает событие самого окна. а потом уже всех внутренних элементов и скорее всего чем глубже в дереве нужный элемент, тем позже сработает событие (в относительных значениях конечно).
    • Помечено в качестве ответа Abolmasov Dmitry 5 июня 2011 г. 6:44
    Отвечающий
  • Deleted
    • Помечено в качестве ответа Abolmasov Dmitry 5 июня 2011 г. 6:44
    2 июня 2011 г. 20:30

Все ответы

  • А какого рода изменения вы делаете в коде? Просто в WPF нужно стараться делать так, что бы содержимое автоматом изменялось под размер окна или родительского грида...
    • Помечено в качестве ответа Abolmasov Dmitry 30 мая 2011 г. 4:19
    • Снята пометка об ответе firefox0013 1 июня 2011 г. 2:40
    Отвечающий
  • Прошу прощения за долгое отсутствие. Проблемы с инетом. Я пишу хекс-вьювер. И при изменении размеров окна должно изменятся количество информации выводимой в него в зависимости от размера. Следовательно я должен посчитать сколько символов влазит и столько же и прочитать с файла.

     

     

     

  • Ну раз ваш случай немного специфичный, то поробуйте выполнять нужный код в событии SizeChanged не для Gridа, а для окна, так как оно будет срабатывать раньше. В WPF события проходят по всему дереву в зависимости от точки и вызова, то есть могут вверх, а могут вниз. В случае с изменением размеров окна, я полагаю, что первым срабатывает событие самого окна. а потом уже всех внутренних элементов и скорее всего чем глубже в дереве нужный элемент, тем позже сработает событие (в относительных значениях конечно).
    • Помечено в качестве ответа Abolmasov Dmitry 5 июня 2011 г. 6:44
    Отвечающий