mirror of
https://github.com/Stone-Red-Code/docs-desktop.git
synced 2026-09-09 16:06:09 +02:00
* Add article, code, toc, and redirects * Minor edits * Minor edit for clarity
73 lines
2.9 KiB
VB.net
73 lines
2.9 KiB
VB.net
'<InstanceEventHandling>
|
|
Partial Public Class MainWindow
|
|
Inherits Window
|
|
|
|
Public Sub New()
|
|
InitializeComponent()
|
|
|
|
' Attach an instance handler on componentWrapper that will be invoked by handled KeyDown events.
|
|
componentWrapper.[AddHandler](KeyDownEvent, New RoutedEventHandler(AddressOf InstanceEventInfo),
|
|
handledEventsToo:=True)
|
|
End Sub
|
|
|
|
' The handler attached to componentWrapper in XAML.
|
|
Public Sub HandlerInstanceEventInfo(sender As Object, e As KeyEventArgs)
|
|
InstanceEventInfo(sender, e)
|
|
End Sub
|
|
|
|
End Class
|
|
'</InstanceEventHandling>
|
|
|
|
'<ClassEventHandling>
|
|
Public Class ComponentWrapper
|
|
Inherits ComponentWrapperBase
|
|
|
|
Shared Sub New()
|
|
' Class event handler implemented in the static constructor.
|
|
EventManager.RegisterClassHandler(GetType(ComponentWrapper), KeyDownEvent,
|
|
New RoutedEventHandler(AddressOf ClassEventInfo_Static))
|
|
End Sub
|
|
|
|
' Class event handler that overrides a base class virtual method.
|
|
Protected Overrides Sub OnKeyDown(e As KeyEventArgs)
|
|
ClassEventInfo_Override(Me, e)
|
|
|
|
' Call the base OnKeyDown implementation on ComponentWrapperBase.
|
|
MyBase.OnKeyDown(e)
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
Public Class ComponentWrapperBase
|
|
Inherits StackPanel
|
|
|
|
Shared Sub New()
|
|
' Class event handler implemented in the static constructor.
|
|
EventManager.RegisterClassHandler(GetType(ComponentWrapperBase), KeyDownEvent,
|
|
New RoutedEventHandler(AddressOf ClassEventInfoBase_Static))
|
|
End Sub
|
|
|
|
' Class event handler that overrides a base class virtual method.
|
|
Protected Overrides Sub OnKeyDown(e As KeyEventArgs)
|
|
ClassEventInfoBase_Override(Me, e)
|
|
|
|
e.Handled = True
|
|
Debug.WriteLine("The KeyDown event is marked as handled.")
|
|
|
|
' Call the base OnKeyDown implementation on StackPanel.
|
|
MyBase.OnKeyDown(e)
|
|
End Sub
|
|
|
|
End Class
|
|
'</ClassEventHandling>
|
|
|
|
' Debug output:
|
|
'
|
|
' The instance handler attached to componentWrapper was triggered by the PreviewKeyDown routed event raised on componentTextBox.
|
|
' The static class handler attached to componentWrapper was triggered by the KeyDown routed event raised on componentTextBox.
|
|
' The static class handler attached to componentWrapperBase was triggered by the KeyDown routed event raised on componentTextBox.
|
|
' The override class handler attached to componentWrapper was triggered by the KeyDown routed event raised on componentTextBox.
|
|
' The override class handler attached to componentWrapperBase was triggered by the KeyDown routed event raised on componentTextBox.
|
|
' The KeyDown event is marked as handled.
|
|
' The instance handler attached to componentWrapper was triggered by the KeyDown routed event raised on componentTextBox. Parameter handledEventsToo set to true.
|