У меня есть главное окно с пользовательским элементом управления. Этот UC, в свою очередь, имеет UC и так далее. Эта цепочка от главного окна до конечного дочернего UC имеет глубину 4 уровня. Я хочу иметь возможность каскадировать событие от последнего дочернего UC до главного окна. Я выполнил простые перенаправленные события, когда главное окно имеет ДОСТУП к пользовательскому элементу управления, чтобы он мог добавить обработчик событий следующим образом:
MainWindow.xaml:
// TCardViewer is a user control with a name on the form
TCardViewer.Tap += TCardViewer_Tap;
void TCardViewer_Tap(object sender, RoutedEventArgs e)
{
//handle it
}
У меня нет доступа к последнему дочернему элементу, так как это вложенный пользовательский элемент управления, и не существует его «экземпляра» для привязки моего главного окна. Как я могу это сделать? Нужно ли мне привязывать к нему каждый уровень, чтобы переносить событие вверх, или есть ли способ, которым мое главное окно может каким-то образом подключиться к маршрутизируемому событию последнего дочернего элемента, не имея его «экземпляра» для работы. Спасибо.