unable to disable Contxtmenu if we use <WindowChrome.WindowChrome>

1 posts, 0 answers
  1. Nagaraj
    Nagaraj avatar
    1 posts
    Member since:
    Mar 2017

    Posted 14 Mar Link to this post

    I am unable to disable if I use WindowChrome.WindowChrome style. Please let me know your input to resolve this problem. Without WindowChrome, I am able to disable context menu with the same piece of code.
    <Window x:Class="ConextMenu_Sample.MainWindow"

            Title="MainWindow" Height="350" Width="525" WindowStyle="None">
            <WindowChrome CaptionHeight="35"



    public partial class MainWindow : Window
            private const uint WP_SYSTEMMENU = 0x02;
            private const uint WM_SYSTEMMENU = 0xa4;
            public MainWindow()
                Loaded += OnLoaded;

            private void OnLoaded(object sender, RoutedEventArgs e)
                IntPtr windIntPtr = new WindowInteropHelper(this).Handle;
                HwndSource hwndSource = HwndSource.FromHwnd(windIntPtr);
                hwndSource.AddHook(new HwndSourceHook(WndProc));

            private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam, ref bool handled)
                if ((msg == WM_SYSTEMMENU) && (wparam.ToInt32() == WP_SYSTEMMENU))
                    handled = true;
                return IntPtr.Zero;
Back to Top