Как отловить событие глобальной загрузки в WPF - PullRequest
1 голос
/ 05 января 2012

Для каждого элемента управления пользовательского интерфейса на wpf существует событие «загружено».Предположим, у меня есть пользовательский элемент управления со списком других элементов управления, например Combobox.Теперь, если я ловлю загруженное событие как для «usercontrol», так и для «Combobox», то загруженное событие сначала происходит для Usercontrol, а затем для поля со списком, что означает, что когда пользовательский элемент управления уже загружен, его дочерние элементы могут незагружен завершен.Но я хочу перехватить событие глобальной загрузки, это означает, что событие загрузки будет происходить только тогда, когда все элементы управления будут загружены успешно.Как этого добиться, пожалуйста?Заранее спасибо.

1 Ответ

0 голосов
/ 05 января 2012

Глобального события Loaded не существует, вы утверждаете, что «загруженное событие сначала происходит для Usercontrol, а затем для поля со списком», возможно, это связано с порядком, в котором вы зарегистрировались для этих событий.Что именно вы пытаетесь достичь?

Другие события, которые могут быть вам полезны: LayoutUpdated, это срабатывает каждый раз, когда визуальное дерево изменяется.Вы можете зарегистрировать обработчик, поймать первый раз, когда это событие вызывается, а затем проверить состояние вашего пользовательского интерфейса, чтобы определить, когда ваш пользовательский интерфейс первоначально отображается.

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

...