2016-05-25 11 views
0

Ich versuche, ein Menüelement zum Anhang Kontextmenü hinzuzufügen. Das Problem ist, dass der Artikel nicht angezeigt wird. Ich habe einige Beispiele gesehen, wo sie sagen, dass dieser Code funktionieren sollte:Outlook VSTO hinzufügen Kontextmenüeintrag

this.Application.AttachmentContextMenuDisplay += new ApplicationEvents_11_AttachmentContextMenuDisplayEventHandler(ThisAddIn_AttachmentContextMenuDisplay); 

private void ThisAddIn_AttachmentContextMenuDisplay(CommandBar commandBar, AttachmentSelection attachments) 
{ 
    if (attachments.Count > 0) 
    { 
     var cbc = commandBar.Controls.Add(
        MsoControlType.msoControlButton, 
        missing, missing, missing, true); 

     cbc.Caption = "My custom item"; 
    } 
} 

Die Veranstaltung ThisAddIn_AttachmentContextMenuDisplay wird ausgelöst und die Anlage Zahl größer als Null ist, aber der Menüpunkt wird nicht angezeigt.

Merkwürdige ist, dass, wenn ich commandBar.ShowPopup(); dann der Menüpunkt aufrufen zeigen (beachten Sie die fehlenden Symbole), aber wenn es das Kontextmenü wird ein zweites Mal zeigen geklickt wird:

Context menu when calling commandBar.ShowPopup();

Ohne Aufruf commandBar.ShowPopup(); das Kontextmenü sieht wie gewohnt, aber es ist mein benutzerdefiniertes Element fehlt:

Context menu without calling commandBar.ShowPopup()

EDIT: ich Visual Studio 2013 und Outlook 2010

Antwort

0

Befehlsleisten wurden veraltet und soll nicht verwendet werden, bin mit jedem länger als programmgesteuert ausgeführt werden (siehe ExecuteMso). Sie müssen stattdessen die Ribbon-Benutzeroberfläche (Fluent UI) verwenden. Weitere Informationen finden Sie unter Extending the User Interface in Outlook 2010.

Mehr Informationen über die Fluent-Benutzeroberfläche in der folgenden Serie von Artikeln:

Wenn Sie auf die je müssen sich verstecken oder einige Kontrollen zeigen Kontext Sie können Ribbon-Callbacks verwenden, in denen Sie entscheiden können, ob ein Steuerelement einem Benutzer angezeigt werden soll oder nicht.

+1

Gibt es irgendwo ein Beispiel, das mir zeigt, wie man einfach ein Element zum Kontextmenü des Anhangs hinzufügt? Es sieht wie eine einfache Aufgabe aus und diese Fluent UI Artikel sind wirklich schmerzhaft zu lesen. –

+0

Gilt das noch für Outlook 2016? – SixOThree

+0

Ja, es tut ... –