具有多个用户控制深度的路由事件

时间:2014-01-09 19:58:04

标签: wpf

我有一个具有用户控件的主窗口。这个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    
    }

我无法访问最后一个子元素,因为它是一个嵌套的用户控件,并且我的主窗口没有绑定到它的“实例”。我该怎么做呢?我是否需要将每个级别绑定到它以向上传递事件,或者是否有一种方式我的主窗口可以某种方式进入最后一个孩子的路由事件而无需使用它的“实例”。谢谢。

1 个答案:

答案 0 :(得分:0)

修正:在主窗口中使用附加属性。

tcard:TCardViewIncidentPanel.Tap="TCardViewer_Tap"

在我的mainwindow.xaml窗口属性中,TCardViewer_Tap是mainwindow.xaml中的一个函数。