0

WPF にチャートがあり、チャートを右クリックすると、以下で説明する Chart_mouseRightButtonDown 関数に移動します。コンテキスト メニューを追加したいです。コンテキスト メニューに 2 つのオプションを既に追加していますが、アクションが必要です。ユーザーがホースオプションをクリックしたとき.それにハンドラーを追加する方法は?

private void Chart_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
    {
        var originalSource = e.OriginalSource as DependencyObject;
        if (originalSource is Ellipse)
        {
            ContextMenu contextMenu = new ContextMenu();

            contextMenu.Items.Add("Lookup Details in Grid");
            contextMenu.Items.Add("Lookup Defect Info");

            runTrendChart.ContextMenu = contextMenu;

        }
        else
            runTrendChart.ContextMenu = null;
    } 
4

1 に答える 1

0

コレクションに文字列だけを追加する代わりにContextMenu Items、新しい MenuItem 要素を追加する必要があります。

contextMenu.Items.Add(MenuItem() 
{
Header = "Lookup Details in Grid",
Command = ANY_COMMAND_YOU_WANT
});

MouseRightButtonDownこの MenuItemsを XAML ではなくハンドラーに追加する理由はわかりませんが、これで問題は解決するはずです。

編集Commandを使用したくない場合はMenuItemClickイベント ハンドラーを追加できるイベントがあります。

于 2013-05-23T08:47:32.820 に答える