2016-08-19 12 views
0

Ich arbeite an einem VSTO Outlook Addin für neue Mails. Der Benutzer kann das Bild umschalten, wenn er die Mail gespeichert haben möchte.VSTO Outlook Umschaltstatus

Momentan, wenn das Bild angeklickt wird, setze ich ein globales bool auf true.

Das funktioniert, bis der Benutzer ein anderes neues Mail-Fenster öffnet, bevor er das erste sendet.

Wie kann ich den Status nur per neuem Mailfenster speichern?

Vielen Dank.

Lösung

Es gibt zwei Möglichkeiten, dieses Problem zu lösen.

One: Benutzereigenschaften Excellent Blog auf https://www.add-in-express.com/creating-addins-blog/2013/01/30/preserve-outlook-ribbon-controls-state/

Zwei: Verwenden Sie Wrapper um den Zustand in Klassen zu speichern mehr auf https://msdn.microsoft.com/en-us/library/office/ff973716(v=office.14).aspx

Antwort

0

Nicht sicher Lesen Sie, ob Sie das EntryId der aktuellen E-Mail bearbeitet bekommen werden wenn ja, können Sie versuchen, alle Staaten in ein Wörterbuch cachen, wie etwas unter

private Dictionary<string, bool> _states = new Dictionary<string, bool>(); 
private void toggleBtn_Click(object sender, RibbonControlEventArgs e) 
{ 
    MailItem ml; 
    // get current MailItem 
    // something like: MailItem ml = popupWindow.GetMail 

    // default false 
    if (!(_states.Keys.Contains(ml.EntryId))){ 
     _states[ml.EntryId] = false; 
    } 

    // toggle the state 
    _states[ml.EntryId] = !_states[ml.EntryId]; 

} 

aber Sie wollen th zu handhaben könnte e Popup-Fenster Ereignis geschlossen, um den Eintrag aus dem Wörterbuch zu entfernen, wenn der Benutzer das Popup schließt (zB E-Mail gesendet)

+0

Sie Rex danken, die derzeit an der Seite arbeiten, um dieses Blog-Post https: // blogs. msdn.microsoft.com/anilkumar/2010/07/19/how-to-effectively-maintain-the-state-of-the-ribbon-in-outlook-2010/ – mausinc

Verwandte Themen