У меня есть Silverlight UserControl, и он содержит StackPanel, которая, в свою очередь, содержит в себе некоторые UserControls.Я хотел бы иметь возможность определить, когда пользователь нажимает / вкладывает за пределами внешней StackPanel (т.е. когда StackPanel теряет фокус), и я хотел бы иметь возможность обрабатывать его изнутри моего UserControl.Кто-нибудь есть какие-либо предложения о том, как я мог бы сделать это?
Когда один из компонентов потерял фокус, я попытался отправить поток, который посмотрел бы, если бы какой-либо элемент управления в основном UserControl получил фокус дальше, который затемскажи мне, если я все еще под моим контролем.Проблема в том, что я уже был в потоке пользовательского интерфейса, поэтому Dispatcher немедленно выполнил мое действие, пока я еще находился в процессе обработки LostFocus.Итак, это не сработало.
Что-то еще, что я пытался задействовать, используя FocusManager и определить, является ли элемент управления с фокусом дочерним по отношению к моей StackPanel.Это не сработало, потому что GetFocusedElement () вернул элемент, фокус которого я потерял.
У кого-нибудь есть другие идеи?Любая помощь приветствуется.