2

我想将 keydown 事件从弹出窗口对象带到托管窗口对象。

弹出窗口能够获得对宿主窗口对象的引用。

4

1 回答 1

1

要将事件从一个 UIElement 传递到另一个,您可以使用该RaiseEvent方法。有很多方法可以做到这一点,但这个相当简单。如果您想了解有关此概念的更多信息,请查看有关 Routed Events 的概述

在弹出窗口中:

protected override void OnKeyDown(KeyEventArgs e)
{
  base.OnKeyDown(e);

  var window = // reference to hosting window

  window.RaiseEvent(e);
}

在托管窗口主体中:

protected override void OnKeyDown(KeyEventArgs e)
{
  base.OnKeyDown(e);

  // use the key event
}
于 2013-08-26T15:06:05.327 回答