Перенаправленное событие с глубиной управления несколькими пользователями

У меня есть главное окно с пользовательским элементом управления. Этот 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    
    }

У меня нет доступа к последнему дочернему элементу, так как это вложенный пользовательский элемент управления, и не существует его «экземпляра» для привязки моего главного окна. Как я могу это сделать? Нужно ли мне привязывать к нему каждый уровень, чтобы переносить событие вверх, или есть ли способ, которым мое главное окно может каким-то образом подключиться к маршрутизируемому событию последнего дочернего элемента, не имея его «экземпляра» для работы. Спасибо.


wpf
person John Edwards    schedule 09.01.2014    source источник


Ответы (1)


Исправлено: использовалось прикрепленное свойство в главном окне.

tcard:TCardViewIncidentPanel.Tap="TCardViewer_Tap"

В моем свойстве окна mainwindow.xaml, где TCardViewer_Tap — это функция внутри mainwindow.xaml.

person John Edwards    schedule 09.01.2014