Freigeben über


Übersicht über Popups

Das Popup-Steuerelement bietet eine Möglichkeit, Inhalt in einem separaten Fenster auszugeben, das in Relation zu den festgelegten Element- oder Bildschirmkoordinaten unverankert über anderen Fenstern der Anwendung angezeigt wird. In diesem Thema wird das Popup-Steuerelement vorgestellt sowie dessen Verwendung veranschaulicht.

Dieses Thema enthält folgende Abschnitte.

  • Was ist ein Popup?
  • Erstellen eines Popups
  • Steuerelemente, die ein Popup implementieren
  • Verhalten und Darstellung von Popups
  • Definieren der Position von Popups
  • Popup und visuelle Struktur
  • Verwandte Abschnitte

Was ist ein Popup?

Ein Popup-Steuerelement zeigt Inhalt in einem separaten Fenster an, das in Relation zu einem Element oder zu einer Bildschirmposition unverankert über anderen Fenstern der Anwendung angezeigt wird. Wenn das Popup sichtbar ist, ist die IsOpen-Eigenschaft auf true festgelegt.

HinweisHinweis

Ein Popup wird nicht automatisch geöffnet, wenn der Mauszeiger über sein übergeordnetes Objekt bewegt wird.Wenn Sie möchten, dass ein Popup automatisch geöffnet wird, verwenden Sie die ToolTip-Klasse oder die ToolTipService-Klasse.Weitere Informationen finden Sie unter Übersicht über die QuickInfo.

Erstellen eines Popups

Im folgenden Beispiel wird veranschaulicht, wie ein Popup-Steuerelement definiert wird, das das untergeordnete Element eines Button-Steuerelements ist. Da ein Button-Steuerelement nur über ein untergeordnetes Element verfügen kann, wird in diesem Beispiel der Text für das Button-Steuerelement und das Popup-Steuerelement in einem StackPanel abgelegt. Der Inhalt des Popup-Steuerelements wird in einem TextBlock-Steuerelement angezeigt, das den entsprechenden Text in einem separaten Fenster ausgibt, das unverankert über dem Anwendungsfenster in der Nähe des verknüpften Button-Steuerelements angezeigt wird.

<Button HorizontalAlignment="Left" Click="DisplayPopup" 
        Width="150" Margin="20,10,0,0">
  <StackPanel>
    <TextBlock>Display Your Popup Text</TextBlock>
    <Popup Name="myPopup">
      <TextBlock Name="myPopupText" 
                 Background="LightBlue" 
                 Foreground="Blue">
        Popup Text
      </TextBlock>
    </Popup>
  </StackPanel>
</Button>
<Button Name="ButtonForPopup" HorizontalAlignment="Left" 
        Click="CreatePopup"  
        Width="150" Margin="20,10,0,0">
  <StackPanel Name="aStackPanel">
    <TextBlock>Create Popup</TextBlock>
  </StackPanel>
</Button>

Steuerelemente, die ein Popup implementieren

Sie können Popup-Steuerelemente in andere Steuerelemente einbauen. Die folgenden Steuerelemente implementieren das Popup-Steuerelement für bestimmte Verwendungsmöglichkeiten:

Verhalten und Darstellung von Popups

Das Popup-Steuerelement stellt Funktionalität bereit, mit der Sie das Verhalten und die Darstellung von Popups anpassen können. So können Sie beispielsweise das Verhalten beim Öffnen und Schließen, die Animation, Durchlässigkeit und Bitmapeffekte sowie die Größe und Position für ein Popup festlegen.

Verhalten beim Öffnen und Schließen

Ein Popup-Steuerelement zeigt seinen Inhalt an, wenn die IsOpen-Eigenschaft auf true festgelegt ist. Standardmäßig bleibt ein Popup geöffnet, bis die IsOpen-Eigenschaft auf false festgelegt wird. Sie können jedoch das Standardverhalten ändern, indem Sie die StaysOpen-Eigenschaft auf false festlegen. Wenn Sie diese Eigenschaft auf false festlegen, verfügt das Popup-Inhaltsfenster über eine Mauszeigererkennung. Sobald ein Mausereignis außerhalb des Popup-Fensters auftritt, verliert das Popup die Mauszeigererkennung, und das Fenster wird geschlossen.

Beim Öffnen oder Schließen eines Popup-Inhaltsfensters wird das Opened-Ereignis bzw. das Closed-Ereignis ausgelöst.

Animation

Das Popup-Steuerelement bietet eine integrierte Unterstützung für Animationen, die typischerweise mit Verhalten wie Einblenden und Hereingleiten verknüpft sind. Sie können diese Animationen aktivieren, indem Sie die PopupAnimation-Eigenschaft auf einen PopupAnimation-Enumerationswert festlegen. Damit Popup-Animationen ordnungsgemäß funktionieren, müssen Sie die AllowsTransparency-Eigenschaft auf true festlegen.

Sie können außerdem Animationen wie Storyboard für das Popup-Steuerelement übernehmen.

Durchlässigkeit und Bitmapeffekte

Die Opacity-Eigenschaft eines Popup-Steuerelements hat keine Auswirkungen auf seinen Inhalt. Standardmäßig ist das Popup-Inhaltsfenster nicht transparent. Um ein transparentes Popup zu erstellen, legen Sie die AllowsTransparency-Eigenschaft auf true fest.

Der Inhalt eines Popup-Steuerelements erbt keine Bitmapeffekte, z. B. DropShadowBitmapEffect, die Sie direkt im Popup-Steuerelement oder in einem beliebigen anderen Element im übergeordneten Fenster festgelegt haben. Um Bitmapeffekte im Popup-Inhalt anzuzeigen, müssen Sie die Bitmapeffekte direkt in dessen Inhalt festlegen. Wenn z. B. das untergeordnete Steuerelement eines Popup-Steuerelements ein StackPanel ist, legen Sie den Bitmapeffekt im StackPanel fest.

Größe von Popups

Standardmäßig wird die Größe eines Popup-Steuerelements automatisch an dessen Inhalt angepasst. Bei einer automatischen Größenanpassung kann es vorkommen, dass einige Bitmapeffekte ausgeblendet werden, weil die für das Popup definierte Standardgröße des Bildschirmbereichs nicht genügend Platz zur Anzeige der Bitmapeffekte aufweist.

Der Popup-Inhalt kann auch verdeckt werden, wenn Sie ein RenderTransform auf den Inhalt festgelegt haben. In diesem Szenario wird ein Teil des Inhalts ausgeblendet, wenn der Inhalt des transformierten Popup-Steuerelements über den Bereich des ursprünglichen Popup-Steuerelements hinausreicht. Wenn ein Bitmapeffekt oder eine Transformation mehr Platz benötigt, können Sie einen Rand um den Popup-Inhalt definieren, um für das Steuerelement einen größeren Bereich bereitzustellen.

Definieren der Position von Popups

Sie können ein Popup durch Festlegen der folgenden Eigenschaften positionieren: PlacementTarget, PlacementRectangle, Placement, HorizontalOffset und VerticalOffsetProperty. Weitere Informationen finden Sie unter Verhalten beim Platzieren von Popups. Wenn ein Popup auf dem Bildschirm angezeigt wird, wird es bei einer Neupositionierung des übergeordneten Elements nicht neu positioniert.

Anpassen der Platzierung von Popups

Sie können die Platzierung eines Popup-Steuerelements anpassen, indem Sie eine Reihe von Koordinaten festlegen, die in Relation zum PlacementTarget angeben, wo das Popup angezeigt werden soll.

Um die Platzierung anzupassen, legen Sie die Placement-Eigenschaft auf Custom fest. Definieren Sie dann einen CustomPopupPlacementCallback-Delegaten, der eine Reihe von möglichen Platzierungspunkten und Primärachsen (nach dem Grad der Bevorzugung geordnet) für das Popup zurückgibt. Der Punkt, der den größten Teil des Popup-Steuerelements anzeigt, wird automatisch ausgewählt. Ein Beispiel finden Sie unter Gewusst wie: Angeben einer benutzerdefinierten Popup-Position.

Ein Popup-Steuerelement verfügt über keine eigene visuelle Struktur, sondern gibt stattdessen eine Größe von 0 (null) zurück, wenn die MeasureOverride-Methode für das Popup aufgerufen wird. Wenn Sie jedoch die IsOpen-Eigenschaft des Popup-Steuerelements auf true festlegen, wird ein neues Fenster mit einer eigenen visuellen Struktur erstellt. Das neue Fenster enthält den Child-Inhalt von Popup. Die Breite und Höhe des neuen Fensters darf 75 Prozent der Bildschirmbreite oder -höhe nicht überschreiten.

Das Popup-Steuerelement führt einen Verweis auf seinen Child-Inhalt als logisches untergeordnetes Element. Beim Erstellen des neuen Fensters wird der Popup-Inhalt ein visuelles untergeordnetes Fensterelement und bleibt weiterhin das logische untergeordnete Element des Popup-Steuerelements. Umgekehrt bleibt Popup das logische übergeordnete Element seines Child-Inhalts.

Siehe auch

Referenz

Popup

PopupPrimaryAxis

PlacementMode

CustomPopupPlacement

CustomPopupPlacementCallback

ToolTip

ToolTipService

Weitere Ressourcen

Gewusst-wie-Themen zu Popups

QuickInfo-Hilfethemen