WPF: уведомлять visualParent, когда его дочерние элементы изменили свой размер - PullRequest
2 голосов
/ 16 марта 2010

У меня есть FrameworkElement, например Grid, у которого есть дочерние элементы (ячейки, реализованные в другом элементе управления). Когда главное окно меняет размер, я сначала обрабатываю sizeChanged в Grid, а затем в некоторых его дочерних элементах. Как я могу получить уведомление, что все дочерние события sizeChanged закончили обработку? Конечно, я могу вызвать другое событие в child sizeChanged и увеличить счетчик, но по некоторым причинам это не лучшее решение.

Кто-нибудь может порекомендовать что-нибудь? Спасибо!

1 Ответ

0 голосов
/ 16 марта 2010

Я думаю, что вы ищете UIElement.LayoutUpdated Event . Он срабатывает всякий раз, когда макет обновляется, что очень много, поэтому я бы предложил подписаться на него в обработчике для события контейнера SizeChanged и отписаться в обработчике LayoutUpdated.

Пример:

    private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        // Size change started.
        LayoutUpdated += Window_LayoutUpdated;
    }

    private void Window_LayoutUpdated(object sender, EventArgs e)
    {
        // Size change completed.
        LayoutUpdated -= Window_LayoutUpdated;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...