Обнаружение при открытии дочернего окна Application.Current.RootVisual Silverlight ChildWindow - PullRequest
0 голосов
/ 18 февраля 2011

Как узнать из основного пользовательского элемента управления Silverlight (RootVisual), что отображается ChildWindow?

1 Ответ

0 голосов
/ 25 апреля 2011

Не уверен, есть ли более конкретный способ, чем самостоятельная настройка проводки.

1) Вы хотите создать открытый одноэлементный класс (т. Е. ChildWindowManager), который содержит событие OnChildWindowShowing. Ваш корневой визуал тогда подпишется на это событие.

2) Для того, чтобы это событие сработало в нужное время, вам нужно настроить некоторые проводки на ваших экземплярах ChildWindow. Вы можете сделать это в каждом конкретном случае или создать класс, который наследуется от ChildWindow и имеет собственный конструктор. Но вам нужно установить события в ChildWindow, которые будут вызывать событие OnChildWindowShowing в синглтон-классе, который мы создали ранее, чтобы запускать.

Так что концептуально это будет выглядеть примерно так: ChildWindow.OnShow () <-> ChildWindowManager.OnChildWindowShowing <-> RootVisual

...