/// <summary> /// Shows a predefined context popup in a specific location /// </summary> /// <param name="contextPopupID">commandId for the context popup</param> /// <param name="x">X in screen coordinates</param> /// <param name="y">Y in screen coordinates</param> public void ShowContextPopup(uint contextPopupID, int x, int y) { // check that ribbon is initialized if (!Initalized) { return; } object contextualUIObject; Guid contextualUIGuid = new Guid(RibbonIIDGuid.IUIContextualUI); HRESULT hr = Framework.GetView(contextPopupID, ref contextualUIGuid, out contextualUIObject); if (NativeMethods.Succeeded(hr)) { IUIContextualUI contextualUI = contextualUIObject as IUIContextualUI; contextualUI.ShowAtLocation(x, y); Marshal.ReleaseComObject(contextualUI); } else { Marshal.ThrowExceptionForHR((int)hr); } }