如何使用 C++/CX 覆盖方法?

How can I override method using C++/CX?

我正在尝试覆盖 CommandBar 的 OnKeyDown 方法:

public ref class myCommandBar: public CommandBar {
protected:
    virtual void OnKeyDown(KeyRoutedEventArgs e);
};

但我收到错误消息:

错误 C3992:'OnKeyDown':public 成员的签名包含无效类型 'Windows::UI::Xaml::Input::KeyRoutedEventArgs'

KeyRoutedEventArgs 是按引用传递的,而不是按值传递的。签名应该是这样的:

virtual void OnKeyDown(KeyRoutedEventArgs^ e);