本文整理汇总了C#中IMenuService.InitializeContextMenu方法的典型用法代码示例。如果您正苦于以下问题:C# IMenuService.InitializeContextMenu方法的具体用法?C# IMenuService.InitializeContextMenu怎么用?C# IMenuService.InitializeContextMenu使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IMenuService
的用法示例。
在下文中一共展示了IMenuService.InitializeContextMenu方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DocumentViewer
public DocumentViewer(IWpfCommandService wpfCommandService, IDocumentViewerServiceImpl documentViewerServiceImpl, IMenuService menuService, DocumentViewerControl documentViewerControl) {
if (wpfCommandService == null)
throw new ArgumentNullException(nameof(wpfCommandService));
if (documentViewerServiceImpl == null)
throw new ArgumentNullException(nameof(documentViewerServiceImpl));
if (menuService == null)
throw new ArgumentNullException(nameof(menuService));
if (documentViewerControl == null)
throw new ArgumentNullException(nameof(documentViewerControl));
this.wpfCommandService = wpfCommandService;
this.documentViewerServiceImpl = documentViewerServiceImpl;
this.documentViewerControl = documentViewerControl;
menuService.InitializeContextMenu(documentViewerControl.TextView.VisualElement, MenuConstants.GUIDOBJ_DOCUMENTVIEWERCONTROL_GUID, new GuidObjectsProvider(this), new ContextMenuInitializer(documentViewerControl.TextView));
// Prevent the tab control's context menu from popping up when right-clicking in the textview host margin
menuService.InitializeContextMenu(documentViewerControl, Guid.NewGuid());
wpfCommandService.Add(ControlConstants.GUID_DOCUMENTVIEWER_UICONTEXT, documentViewerControl);
documentViewerControl.TextView.Properties.AddProperty(typeof(DocumentViewer), this);
documentViewerControl.TextView.TextBuffer.Properties.AddProperty(DocumentViewerExtensions.DocumentViewerTextBufferKey, this);
}
示例2: AnalyzerService
AnalyzerService(IWpfCommandService wpfCommandService, IDocumentTabService documentTabService, ITreeViewService treeViewService, IMenuService menuService, IAnalyzerSettings analyzerSettings, IDotNetImageService dotNetImageService, IDecompilerService decompilerService, ITreeViewNodeTextElementProvider treeViewNodeTextElementProvider) {
this.documentTabService = documentTabService;
context = new AnalyzerTreeNodeDataContext {
DotNetImageService = dotNetImageService,
Decompiler = decompilerService.Decompiler,
TreeViewNodeTextElementProvider = treeViewNodeTextElementProvider,
DocumentService = documentTabService.DocumentTreeView.DocumentService,
ShowToken = analyzerSettings.ShowToken,
SingleClickExpandsChildren = analyzerSettings.SingleClickExpandsChildren,
SyntaxHighlight = analyzerSettings.SyntaxHighlight,
UseNewRenderer = analyzerSettings.UseNewRenderer,
AnalyzerService = this,
};
var options = new TreeViewOptions {
CanDragAndDrop = false,
TreeViewListener = this,
};
TreeView = treeViewService.Create(ANALYZER_TREEVIEW_GUID, options);
context.TreeView = TreeView;
documentTabService.DocumentTreeView.DocumentService.CollectionChanged += DocumentService_CollectionChanged;
documentTabService.DocumentModified += DocumentTabService_FileModified;
decompilerService.DecompilerChanged += DecompilerService_DecompilerChanged;
analyzerSettings.PropertyChanged += AnalyzerSettings_PropertyChanged;
menuService.InitializeContextMenu(TreeView.UIObject, new Guid(MenuConstants.GUIDOBJ_ANALYZER_TREEVIEW_GUID), new GuidObjectsProvider(TreeView));
wpfCommandService.Add(ControlConstants.GUID_ANALYZER_TREEVIEW, TreeView.UIObject);
var cmds = wpfCommandService.GetCommands(ControlConstants.GUID_ANALYZER_TREEVIEW);
var command = new RelayCommand(a => ActivateNode());
cmds.Add(command, ModifierKeys.Control, Key.Enter);
cmds.Add(command, ModifierKeys.Shift, Key.Enter);
}
示例3: GlyphMargin
public GlyphMargin(IMenuService menuService, IWpfTextViewHost wpfTextViewHost, IViewTagAggregatorFactoryService viewTagAggregatorFactoryService, IEditorFormatMapService editorFormatMapService, Lazy<IGlyphMouseProcessorProvider, IGlyphMouseProcessorProviderMetadata>[] glyphMouseProcessorProviders, Lazy<IGlyphFactoryProvider, IGlyphMetadata>[] glyphFactoryProviders, IMarginContextMenuService marginContextMenuHandlerProviderService) {
if (menuService == null)
throw new ArgumentNullException(nameof(menuService));
if (wpfTextViewHost == null)
throw new ArgumentNullException(nameof(wpfTextViewHost));
if (viewTagAggregatorFactoryService == null)
throw new ArgumentNullException(nameof(viewTagAggregatorFactoryService));
if (editorFormatMapService == null)
throw new ArgumentNullException(nameof(editorFormatMapService));
if (glyphMouseProcessorProviders == null)
throw new ArgumentNullException(nameof(glyphMouseProcessorProviders));
if (glyphFactoryProviders == null)
throw new ArgumentNullException(nameof(glyphFactoryProviders));
glyphFactories = new Dictionary<Type, GlyphFactoryInfo>();
childCanvases = Array.Empty<Canvas>();
this.wpfTextViewHost = wpfTextViewHost;
this.viewTagAggregatorFactoryService = viewTagAggregatorFactoryService;
this.editorFormatMapService = editorFormatMapService;
lazyGlyphMouseProcessorProviders = glyphMouseProcessorProviders;
lazyGlyphFactoryProviders = glyphFactoryProviders;
var binding = new Binding {
Path = new PropertyPath(BackgroundProperty),
Source = this,
};
SetBinding(DsImage.BackgroundBrushProperty, binding);
wpfTextViewHost.TextView.Options.OptionChanged += Options_OptionChanged;
wpfTextViewHost.TextView.ZoomLevelChanged += TextView_ZoomLevelChanged;
IsVisibleChanged += GlyphMargin_IsVisibleChanged;
UpdateVisibility();
Width = MARGIN_WIDTH;
ClipToBounds = true;
menuService.InitializeContextMenu(VisualElement, new Guid(MenuConstants.GUIDOBJ_GLYPHMARGIN_GUID), marginContextMenuHandlerProviderService.Create(wpfTextViewHost, this, PredefinedMarginNames.Glyph), null, new Guid(MenuConstants.GLYPHMARGIN_GUID));
}
示例4: InitializeContextMenu
public IContextMenuProvider InitializeContextMenu(IMenuService menuService, ITabGroup tabGroup, FrameworkElement elem) => menuService.InitializeContextMenu(elem, tabGroupGuid, new GuidObjectsProvider(this, tabGroup));
示例5: TabGroup
public TabGroup(TabGroupService tabGroupService, IMenuService menuService, IWpfFocusService wpfFocusService, TabGroupServiceOptions options) {
this.options = options;
tabContentAttached = new WeakEventList<TabContentAttachedEventArgs>();
this.tabGroupService = tabGroupService;
this.wpfFocusService = wpfFocusService;
tabControl = new TabControl();
tabControl.DataContext = this;
tabControl.SetStyle(options.TabControlStyle ?? "FileTabGroupTabControlStyle");
tabControl.SelectionChanged += TabControl_SelectionChanged;
tabControl.PreviewKeyDown += TabControl_PreviewKeyDown;
if (options.InitializeContextMenu != null)
contextMenuProvider = options.InitializeContextMenu(menuService, this, tabControl);
else if (options.TabGroupGuid != Guid.Empty)
contextMenuProvider = menuService.InitializeContextMenu(tabControl, options.TabGroupGuid, new GuidObjectsProvider(this));
}
示例6: SearchService
SearchService(IDecompilerService decompilerService, ISearchSettings searchSettings, IDocumentSearcherProvider fileSearcherProvider, IMenuService menuService, IWpfCommandService wpfCommandService, IDocumentTabService documentTabService, IClassificationFormatMapService classificationFormatMapService) {
var classificationFormatMap = classificationFormatMapService.GetClassificationFormatMap(AppearanceCategoryConstants.UIMisc);
this.documentTabService = documentTabService;
searchControl = new SearchControl();
vmSearch = new SearchControlVM(fileSearcherProvider, documentTabService.DocumentTreeView, searchSettings) {
Decompiler = decompilerService.Decompiler,
};
searchControl.DataContext = vmSearch;
menuService.InitializeContextMenu(searchControl.ListBox, MenuConstants.GUIDOBJ_SEARCH_GUID, new GuidObjectsProvider());
wpfCommandService.Add(ControlConstants.GUID_SEARCH_CONTROL, searchControl);
wpfCommandService.Add(ControlConstants.GUID_SEARCH_LISTBOX, searchControl.ListBox);
decompilerService.DecompilerChanged += DecompilerService_DecompilerChanged;
classificationFormatMap.ClassificationFormatMappingChanged += ClassificationFormatMap_ClassificationFormatMappingChanged;
searchSettings.PropertyChanged += SearchSettings_PropertyChanged;
documentTabService.DocumentTreeView.DocumentService.CollectionChanged += DocumentService_CollectionChanged;
searchControl.SearchListBoxDoubleClick += (s, e) => FollowSelectedReference();
var cmds = wpfCommandService.GetCommands(ControlConstants.GUID_SEARCH_LISTBOX);
var command = new RelayCommand(a => FollowSelectedReference());
cmds.Add(command, ModifierKeys.None, Key.Enter);
cmds.Add(command, ModifierKeys.Control, Key.Enter);
cmds.Add(command, ModifierKeys.Shift, Key.Enter);
Add(SearchType.TypeDef, Key.T);
Add(SearchType.FieldDef, Key.F);
Add(SearchType.MethodDef, Key.M);
Add(SearchType.PropertyDef, Key.P);
Add(SearchType.EventDef, Key.E);
Add(SearchType.ParamDef, Key.J);
Add(SearchType.Local, Key.I);
Add(SearchType.ParamLocal, Key.N);
Add(SearchType.Resource, Key.R);
Add(SearchType.Member, Key.U);
Add(SearchType.Any, Key.B);
Add(SearchType.Literal, Key.L);
Add(SearchLocation.AllFiles, Key.G);
Add(SearchLocation.SelectedFiles, Key.S);
Add(SearchLocation.AllFilesInSameDir, Key.D);
Add(SearchLocation.SelectedType, Key.Q);
}