示例#1
0
        ContextMenu CreateMenu()
        {
            MenuItem extMethodsItem = new MenuItem();

            extMethodsItem.Header    = ResourceService.GetString("MainWindow.Windows.Debug.CallStack.ShowExternalMethods");
            extMethodsItem.IsChecked = DebuggingOptions.Instance.ShowExternalMethods;
            extMethodsItem.Click    += delegate {
                extMethodsItem.IsChecked = DebuggingOptions.Instance.ShowExternalMethods = !DebuggingOptions.Instance.ShowExternalMethods;
                callStackPad.InvalidatePad();
            };

            MenuItem moduleItem = new MenuItem();

            moduleItem.Header    = ResourceService.GetString("MainWindow.Windows.Debug.CallStack.ShowModuleNames");
            moduleItem.IsChecked = DebuggingOptions.Instance.ShowModuleNames;
            moduleItem.Click    += delegate {
                moduleItem.IsChecked = DebuggingOptions.Instance.ShowModuleNames = !DebuggingOptions.Instance.ShowModuleNames;
                ((GridView)view.View).Columns[0].Width = DebuggingOptions.Instance.ShowModuleNames ? 100d : 0d;
                callStackPad.InvalidatePad();
            };

            MenuItem argNamesItem = new MenuItem();

            argNamesItem.Header    = ResourceService.GetString("MainWindow.Windows.Debug.CallStack.ShowArgumentNames");
            argNamesItem.IsChecked = DebuggingOptions.Instance.ShowArgumentNames;
            argNamesItem.Click    += delegate {
                argNamesItem.IsChecked = DebuggingOptions.Instance.ShowArgumentNames = !DebuggingOptions.Instance.ShowArgumentNames;
                callStackPad.InvalidatePad();
            };

            MenuItem argValuesItem = new MenuItem();

            argValuesItem.Header    = ResourceService.GetString("MainWindow.Windows.Debug.CallStack.ShowArgumentValues");
            argValuesItem.IsChecked = DebuggingOptions.Instance.ShowArgumentValues;
            argValuesItem.Click    += delegate {
                argValuesItem.IsChecked = DebuggingOptions.Instance.ShowArgumentValues = !DebuggingOptions.Instance.ShowArgumentValues;
                callStackPad.InvalidatePad();
            };

            MenuItem lineItem = new MenuItem();

            lineItem.Header    = ResourceService.GetString("MainWindow.Windows.Debug.CallStack.ShowLineNumber");
            lineItem.IsChecked = DebuggingOptions.Instance.ShowLineNumbers;
            lineItem.Click    += delegate {
                lineItem.IsChecked = DebuggingOptions.Instance.ShowLineNumbers = !DebuggingOptions.Instance.ShowLineNumbers;
                ((GridView)view.View).Columns[2].Width = DebuggingOptions.Instance.ShowLineNumbers ? 50d : 0d;
                callStackPad.InvalidatePad();
            };

            return(new ContextMenu()
            {
                Items =
                {
                    extMethodsItem,
                    new Separator(),
                    moduleItem,
                    argNamesItem,
                    argValuesItem,
                    lineItem
                }
            });
        }