我有一个包含带有公共事件的用户控件(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