2011-06-25 11 views
4

私はWPFコントロールをElementHostを使用してWinFormsコントロール内にホストしています。 WinFormsコントロールにはコンテキストメニューがあります。ユーザーがWPFコントロールを右クリックすると、コンテキストメニューが表示されます。これはどうすればできますか?マウスイベントがWPFからWinFormsにバブリングされていないようです。WPFからWinFormsへのバブルマウスイベント

答えて

4

最初にWPFコントロールで処理した可能性があるため、自動的にはバブリングされません。しかし、あなた自身で簡単に追加することができます。

あなたのWPFユーザーコントロールで

、最高あなたは、マウスの右でトリガイベントを公開:

public UserControl1 WpfControl { get; set; } 

    public Form1() 
    { 
     InitializeComponent(); 

     WpfControl = new UserControl1(); 
     WpfControl.ShowContext +=() => contextMenuStrip1.Show(Cursor.Position); 
     elementHost1.Child = WpfControl; 
    .... 
:あなたのリサイズに続いて

public event Action ShowContext; 

    private void rectangle1_MouseRightButtonUp(object sender, MouseButtonEventArgs e) 
    { 
     if (ShowContext != null) 
     { 
      ShowContext(); 
     } 
    } 

は、あなたがそうのようにそれを使用することができます要素のホストと制御します

関連する問題