从WPF到WinForms的气泡鼠标事件

| 我已经使用ElementHost将WPF控件托管在WinForms控件中。 WinForms控件具有一个上下文菜单。当用户右键单击WPF控件时,我想显示上下文菜单。如何才能做到这一点?似乎鼠标事件没有从WPF冒泡到WinForms。     
已邀请:
        它不会自动冒泡,因为您可能首先在WPF控件中进行了处理。但是,您可以轻松地自己添加。 在WPF用户控件中,公开一个鼠标右键触发的事件:
    public event Action ShowContext;

    private void rectangle1_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
    {
        if (ShowContext != null)
        {
            ShowContext();
        }
    }
然后在带有元素宿主的winforms控件中,可以像这样使用它:
    public UserControl1 WpfControl { get; set; }

    public Form1()
    {
        InitializeComponent();

        WpfControl = new UserControl1();
        WpfControl.ShowContext += () => contextMenuStrip1.Show(Cursor.Position);
        elementHost1.Child = WpfControl;
     ....
    

要回复问题请先登录注册