title: Handling events from user control containing a WPF textbox
body: <p>In order to take advantage of the spell checking ability of WPF textboxes, I have added one to a user control (with the use of elementhost). This user control is used in various window forms. My current problem is trying to handle keyup events from this textbox but the windows form is unable to "get" any event from the control. I can access the properties of the textbox just fine (i.e. text, length, etc.) but keyboard events don't seem to work.</p>
  
  <p>I have found, however, that the following will bring back events from the WPF textbox:</p>
  
  <pre><code>Public Class MyUserControl
  
      Private _elementHost As New ElementHost
      Private _wpfTextbox As New System.Windows.Controls.Textbox
  
      Private Sub MyUserControl_Load(...) Handles Me.Load
          Me.Controls.Add(_elementHost)
          _elementHost.Dock = DockStyle.Fill
          _elementHost.Child = _wpfTextbox
  
          Dim MyEventInfo As EventInfo
          Dim MyMethodInfo As MethodInfo
          MyMethodInfo = Me.GetType().GetMethod("WPFTextbox_KeyUp") 
          MyEventInfo = _wpfTextBox.GetType().GetEvent("PreviewKeyUp")
          Dim dlg As [Delegate] = [Delegate].CreateDelegate(MyEventInfo.EventHandlerType, Me, MyMethodInfo)
          MyEventInfo.AddEventHandler(_wpfTextBox, dlg)
      End Sub
  
      Public Sub WPFTextbox_KeyUp(ByVal sender As Object, ByVal e As RoutedEventArgs)
          ' something goes here
      End Sub
  
  End Class
  </code></pre>
  
  <p>The user control is now able to do something after the PreviewKeyUp event is fired in the WPF textbox. Now, I'm not completely sure how to have the window form containing this user control to work with this.</p>