我想将一个弹出窗口对象的keydown事件带到托管窗口对象。
弹出窗口可以获取对托管窗口对象的引用。
答案 0 :(得分:1)
要将事件从一个UIElement传递到另一个UIElement,您可以使用RaiseEvent
方法。有很多方法可以做到这一点,但这个方法相当简单。如果您想了解有关该概念的更多信息,请查看this overview on 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
}