Implementieren eines anheftbaren Aufgabenbereichs in OutlookImplement a pinnable taskpane in Outlook

Durch das UX-Shape Aufgabenbereich für Add-In-Befehle wird rechts neben einer geöffneten Nachricht oder einem Termin ein vertikaler Aufgabenbereich geöffnet, über den das Add-In eine Benutzeroberfläche für ausführlichere Interaktionen (Ausfüllen mehrerer Felder usw.) bereitstellen kann. Dieser Aufgabenbereich kann im Lesebereich angezeigt werden, wenn Sie eine Liste von Nachrichten anzeigen, sodass eine schnelle Verarbeitung von Nachrichten möglich ist.The taskpane UX shape for add-in commands opens a vertical taskpane to the right of an open message or appointment, allowing the add-in to provide UI for more detailed interactions (filling in multiple fields, etc.). This taskpane can be shown in the Reading Pane when viewing a list of messages, allowing for quick processing of a message.

Wenn ein Benutzer jedoch einen Add-In-Aufgabenbereich für eine Nachricht im Lesebereich geöffnet hat und dann eine neue Nachricht auswählt, wird der Aufgabenbereich standardmäßig automatisch geschlossen. Bei einem häufig verwendeten Add-In möchte der Benutzer diesen Bereich möglicherweise geöffnet lassen, sodass das Add-In nicht bei jeder Nachricht erneut aktiviert werden muss. Mit anheftbaren Aufgabenbereichen kann Ihr Add-In dem Benutzer genau das ermöglichen.However, by default, if a user has an add-in taskpane open for a message in the Reading Pane, and then selects a new message, the task pane is automatically closed. For a heavily-used add-in, the user may prefer to keep that pane open, eliminating the need to reactivate the add-in on each message. With pinnable taskpanes, your add-in can give the user that option.

Hinweis

Anheftbare Aufgabenbereiche werden derzeit von Outlook 2016 für Windows (Build 7668.2000 oder höher für Benutzer in den aktuellen oder Office internen Kanälen, Build 7900.xxxx oder höher für Benutzer in verzögerten Kanälen) und Outlook Online unterstützt.Pinnable taskpanes are currently supported by Outlook 2016 for Windows (build 7668.2000 or later for users in the Current or Office Insider Channels, build 7900.xxxx or later for users in Deferred channels) and Outlook Online.

Unterstützen des Anheftens des AufgabenbereichsSupport taskpane pinning

Der erste Schritt besteht darin, die Unterstützung zum Anheften hinzuzufügen, was über das Add-In-Manifest erfolgt. Dies geschieht durch Hinzufügen des SupportsPinning-Elements zum Action-Element, das die Schaltfläche „Aufgabenbereich“ beschreibt.The first step is to add pinning support, which is done in the add-in manifest. This is done by adding the SupportsPinning element to the Action element that describes the taskpane button.

Das SupportsPinning-Element wird im VersionOverrides-Schema v1.1 definiert, Sie müssen daher ein VersionOverrides-Element sowohl für v1.0 als auch für v1.1 einschließen.The SupportsPinning element is defined in the VersionOverrides v1.1 schema, so you will need to include a VersionOverrides element both for v1.0 and v1.1.

Hinweis

Wenn Sie beabsichtigen, Ihr Outlook-Add-In im Office Store zu veröffentlichen, darf bei Verwendung des SupportsPinning-Elements der Add-In-Inhalt nicht statisch sein und Daten bezüglich der im Postfach geöffneten oder ausgewählten Nachricht müssen deutlich angezeigt werden, damit das Add-In die AppSource (Office Store)-Überprüfung besteht.If you plan to publish your Outlook Add-in to the Office Store, when you use the SupportsPinning element, in order to pass AppSource (Office Store) validation, your add-in content must not be static and it must clearly display data related to the message that is open or selected in the mailbox.

<!-- Task pane button -->
<Control xsi:type="Button" id="msgReadOpenPaneButton">
  <Label resid="paneReadButtonLabel" />
  <Supertip>
    <Title resid="paneReadSuperTipTitle" />
    <Description resid="paneReadSuperTipDescription" />
  </Supertip>
  <Icon>
    <bt:Image size="16" resid="green-icon-16" />
    <bt:Image size="32" resid="green-icon-32" />
    <bt:Image size="80" resid="green-icon-80" />
  </Icon>
  <Action xsi:type="ShowTaskpane">
    <SourceLocation resid="readTaskPaneUrl" />
    <SupportsPinning>true</SupportsPinning>
  </Action>
</Control>

Ein vollständiges Beispiel finden Sie im msgReadOpenPaneButton-Steuerelement im command-demo-Beispielmanifest.For a full example, see the msgReadOpenPaneButton control in the command-demo sample manifest.

Umgang mit Updates der Benutzeroberfläche basierend auf der aktuell ausgewählten NachrichtHandling UI updates based on currently selected message

Um die Benutzeroberfläche Ihres Aufgabenbereichs oder interne Variablen basierend auf dem aktuellen Element zu aktualisieren, müssen Sie einen Ereignishandler registrieren, um bezüglich der Änderung benachrichtigt zu werden.To update your taskpane's UI or internal variables based on the current item, you'll need to register an event handler to get notified of the change.

Implementieren des EreignishandlersImplement the event handler

Der Ereignishandler sollte einen einzelnen Parameter akzeptieren, der ein Objektliteral ist. Die type-Eigenschaft dieses Objekts wird durch Office.EventType.ItemChanged festgelegt. Wenn das Ereignis aufgerufen wird, ist das Office.context.mailbox.item-Objekt bereits so aktualisiert, dass das derzeit ausgewählte Element widergespiegelt wird.The event handler should accept a single parameter, which is an object literal. The type property of this object will be set to Office.EventType.ItemChanged. When the event is called, the Office.context.mailbox.item object is already updated to reflect the currently selected item.

function itemChanged(eventArgs) {
  // Update UI based on the new current item
  UpdateTaskPaneUI(Office.context.mailbox.item);
}

Registrieren des EreignishandlersRegister the event handler

Verwenden Sie die Office.context.mailbox.addHandlerAsync-Methode, um Ihren Ereignishandler für das Office.EventType.ItemChanged-Ereignis zu registrieren. Dies sollte in der Office.initialize-Funktion für Ihren Aufgabenbereich erfolgen.Use the Office.context.mailbox.addHandlerAsync method to register your event handler for the Office.EventType.ItemChanged event. This should be done in the Office.initialize function for your taskpane.

Office.initialize = function (reason) {
  $(document).ready(function () {

    // Set up ItemChanged event
    Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, itemChanged);

    UpdateTaskPaneUI(Office.context.mailbox.item);
  });
};

Siehe auchSee also

Ein Beispiel-Add-In, das einen anheftbaren Aufgabenbereich implementiert, finden Sie unter command-demo auf GitHub.For an example add-in that implements a pinnable taskpane, see command-demo on GitHub.