Click here to Skip to main content
13,138,881 members (53,365 online)
Rate this:
Please Sign up or sign in to vote.
See more:
Hi friends,

Is there any way to remove right click menu in Silverlight applications. I am following MVVM pattern in my project, and my solution contains several silverlight projects in it. I need a common solution to remove right click menu in all silverlight projects. Can any one help me. . .
Posted 11-Nov-12 23:04pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

In the code behind for your main page (or your root visual) simply hook the MouseRightButtonDown event or override the OnMouseRightButtonDown function. In either case, set the e.Handled property to true to prevent further processing.

protected override void OnMouseRightButtonDown(MouseButtonEventArgs e)
    e.Handled = true;
     // Best not to call the base method in this case because we don't want that behavior

You can also use this to pop a custom right-click menu if you would like. In that case you use the mouse coordinates as the top-left corner of your context menu object.

You can override this again at a lower level if you wanted. So if you have a treeview, for example, that you wanted a custom context menu to appear, you could hook the event on that container (grid, panel, treeview, etc) and pop your custom menu. Mouse events start at the control highest in the Z-Order (which is the lowest in the hierarchy) under the pointer and bubble "up" the hierarchy tree until they are handled or they get to the app and go unhandled.

Hope that helps.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web03 | 2.8.170915.1 | Last Updated 12 Nov 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100