Если вы используете 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.
Это неВ лучшем случае лучшим подходом было бы расширение контекстного меню. Но, к сожалению, все необходимые методы являются закрытыми: (
Надеюсь, это поможет, я сделал это в своем проекте, и это работает.