vb.wpf用户控件事件未在另一个用户控件

时间:2015-05-31 15:33:35

标签: wpf vb.net wpf-controls

我有一个包含带有公共事件的用户控件(NavigationBar)的应用程序。在同一个应用程序中,我有其他用户控件使用NavigationBar并订阅它的事件,但它们永远不会被触发。

如果我将NavigationBar事件更改为“共享”,则它们会在用户控件中触发,但是由于我在应用程序中需要多个NavigationBar实例,因此无法实现。

这是NavigationBar用户控件事件声明     公共类NavigationBar

Public Event BeforeSaveItems As RoutedEventHandler
Protected Sub OnBeforeSaveItems(sender As Object, e As RoutedEventArgs)
    RaiseEvent BeforeSaveItems(sender, e)
End Sub
...
End Class

在用户控件中 - 这是我订阅事件的地方:

Public NavBarOverstock As NavigationBar
NavBarOverstock = New NavigationBar
AddHandler NavBarOverstock.BeforeSaveItems, AddressOf navBarBeforeSave

Public Sub navBarBeforeSave(sender As Object, e As RoutedEventArgs)
    MsgBox("overstock before save")
End Sub

我可以中断代码并看到调用了RaiseEvent BeforeSaveItems,但是从不在用户控件中触发该事件。

谁能告诉我出了什么问题?

-Rick

0 个答案:

没有答案