Контекстное меню в сетке данных - PullRequest
0 голосов
/ 28 октября 2010

Я хочу использовать контекстное меню в сетке данных

Когда я щелкаю правой кнопкой мыши по строке, она показывает меню.

Когда я щелкаю правой кнопкой мыши по следующей строке, она не показывает, что мне нужнощелкните левой кнопкой мыши и снова щелкните правой кнопкой мыши.

Ответы [ 2 ]

2 голосов
/ 28 октября 2010

Если вы используете ContextMenu Silverlight, это известная проблема.

Если щелкнуть правой кнопкой мыши, элемент управления устанавливает оверлей.Это наложение имеет обработчик события MouseRightButtonDown, но закрывает только контекстное меню.

Если вы откроете его здесь снова, оно будет работать.

Чтобы сделать это, вы должны загрузить srcконтекстное меню.(http://silverlight.codeplex.com/SourceControl/list/changesets) и «написать свое собственное контекстное меню». Если вы измените src следующим образом

private void HandleOverlayMouseRightButtonDown(object sender, MouseButtonEventArgs e)
    {
        ClosePopup();
        OpenPopup(e.GetPosition(null));
        e.Handled = true;
    }

, контекстное меню должно появляться каждый раз, когда вы нажимаете MouseRightButtonDown.

Это неВ лучшем случае лучшим подходом было бы расширение контекстного меню. Но, к сожалению, все необходимые методы являются закрытыми: (

Надеюсь, это поможет, я сделал это в своем проекте, и это работает.

0 голосов
/ 05 ноября 2010

Попробуйте вместо этого это меню:

http://sl4popupmenu.codeplex.com

Более душное и простое в использовании.

...