Übersicht über PopupsPopup Overview

Die Popup Steuerelement bietet eine Möglichkeit, Inhalt in einem separaten Fenster angezeigt, die über relativ zu einer festgelegten Element- oder Bildschirmkoordinate das aktuelle Anwendungsfenster gleitet.The Popup control provides a way to display content in a separate window that floats over the current application window relative to a designated element or screen coordinate. In diesem Thema werden die Popup steuern und Informationen zu dessen Verwendung enthält.This topic introduces the Popup control and provides information about its use.

Was ist ein Popup?What Is a Popup?

Ein Popup -Steuerelement zeigt Inhalt in einem separaten Fenster relativ zu einem Element oder einen Punkt auf dem Bildschirm.A Popup control displays content in a separate window relative to an element or point on the screen. Wenn die Popup angezeigt wird, die IsOpen -Eigenschaftensatz auf true.When the Popup is visible, the IsOpen property is set to true.

Hinweis

Ein Popup wird nicht automatisch geöffnet, wenn der Mauszeiger über sein übergeordnetes Objekt bewegt wird.A Popup does not automatically open when the mouse pointer moves over its parent object. Wenn Sie möchten eine Popup verwenden, um automatisch geöffnet, die ToolTip oder ToolTipService Klasse.If you want a Popup to automatically open, use the ToolTip or ToolTipService class. Weitere Informationen finden Sie unter Übersicht über die QuickInfo.For more information, see ToolTip Overview.

Erstellen eines PopupsCreating a Popup

Das folgende Beispiel zeigt, wie Sie definieren eine Popup steuern, d. h. das untergeordnete Element einer Button Steuerelement.The following example shows how to define a Popup control that is the child element of a Button control. Da eine Button kann nur ein untergeordnetes Element, in diesem Beispiel werden des Texts für die Button und die Popup -Steuerelemente in einem StackPanel.Because a Button can have only one child element, this example places the text for the Button and the Popup controls in a StackPanel. Der Inhalt des der Popup wird in einer TextBlock -Steuerelement, das den Text in einem separaten Fenster angezeigt, die über das Anwendungsfenster neben den zugehörigen gleitet Button Steuerelement.The content of the Popup appears in a TextBlock control, which displays its text in a separate window that floats over the application window near the related Button control.

<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 implementierenControls That Implement a Popup

Sie können erstellen Popup Steuerelemente in anderen Steuerelementen.You can build Popup controls into other controls. Die folgenden Steuerelemente implementieren das Popup -Steuerelement für bestimmte Verwendungsmöglichkeiten:The following controls implement the Popup control for specific uses:

Die Popup -Steuerelement bietet Funktionen, die Ihnen ermöglicht, die das Verhalten und die Darstellung anpassen.The Popup control provides functionality that enables you to customize its behavior and appearance. Sie können beispielsweise festlegen, Öffnungs-und Schließverhalten, Animation, Deckkraft und Bitmapeffekte und Popup Größe und Position.For example, you can set open and close behavior, animation, opacity and bitmap effects, and Popup size and position.

Öffnungs- und SchließverhaltenOpen and Close Behavior

Ein Popup -Steuerelement zeigt den Inhalt bei der IsOpen -Eigenschaftensatz auf true.A Popup control displays its content when the IsOpen property is set to true. In der Standardeinstellung Popup bleibt bestehen, bis die IsOpen -Eigenschaftensatz auf false.By default, Popup stays open until the IsOpen property is set to false. Sie können jedoch das Standardverhalten ändern, durch Festlegen der StaysOpen Eigenschaft false.However, you can change the default behavior by setting the StaysOpen property to false. Wenn Sie diese Eigenschaft festlegen, um false, Popup Fenster "Inhalt" verfügt über die Erfassung von Mauseingaben.When you set this property to false, the Popup content window has mouse capture. Die Popup verliert die mauserfassung, Erfassung und das Fenster wird geschlossen beim Auftreten eines Mausereignisses außerhalb der Popup Fenster.The Popup loses mouse capture and the window closes when a mouse event occurs outside the Popup window.

Die Opened und Closed Ereignisse werden ausgelöst, wenn die Popup -Inhaltsfenster geöffnet oder geschlossen ist.The Opened and Closed events are raised when the Popup content window is open or closed.

AnimationAnimation

Die Popup Steuerelement bietet integrierte Unterstützung für Animationen, die typischerweise mit Verhalten wie einblenden und dem Einblenden verknüpft sind.The Popup control has built-in support for the animations that are typically associated with behaviors like fade-in and slide-in. Können Sie diese Animationen aktivieren, durch Festlegen der PopupAnimation Eigenschaft, um eine PopupAnimation Enumerationswert.You can turn on these animations by setting the PopupAnimation property to a PopupAnimation enumeration value. Für Popup -Animationen ordnungsgemäß funktionieren müssen Sie festlegen, die AllowsTransparency Eigenschaft true.For Popup animations to work correctly, you must set the AllowsTransparency property to true.

Sie können auch Animationen wie anwenden Storyboard auf die Popup Steuerelement.You can also apply animations like Storyboard to the Popup control.

Deckkraft und BitmapeffekteOpacity and Bitmap Effects

Die Opacity -Eigenschaft für eine Popup Steuerelement hat keine Auswirkungen auf dessen Inhalt.The Opacity property for a Popup control has no effect on its content. In der Standardeinstellung die Popup Fenster "Inhalt" ist nicht transparent.By default, the Popup content window is opaque. Erstellen Sie eine transparente Popuplegen die AllowsTransparency Eigenschaft true.To create a transparent Popup, set the AllowsTransparency property to true.

Der Inhalt des eine Popup erbt keine Bitmapeffekte wie z. B. DropShadowBitmapEffect, dass Sie direkt auf Festlegen der Popup Steuerelement oder einem anderen Element im übergeordneten Fenster.The content of a Popup does not inherit bitmap effects, such as DropShadowBitmapEffect, that you directly set on the Popup control or on any other element in the parent window. Damit Bitmapeffekte auf dem Inhalt angezeigt werden. eine Popup, müssen Sie den Bitmapeffekt direkt auf dessen Inhalt festlegen.For bitmap effects to appear on the content of a Popup, you must set the bitmap effect directly on its content. Z. B. wenn das untergeordnete Element ein Popup ist eine StackPanel, legen Sie den Bitmapeffekt für die StackPanel.For example, if the child of a Popup is a StackPanel, set the bitmap effect on the StackPanel.

Standardmäßig eine Popup automatisch an dessen Inhalt angepasst wird.By default, a Popup is automatically sized to its content. Bei der automatischen Anpassung werden einige Bitmapeffekte ausgeblendet werden können, da die Standardgröße des Bildschirmbereichs, der für definierte die Popup Inhalt bietet nicht genügend Speicherplatz für die Bitmapeffekte angezeigt.When auto-sizing occurs, some bitmap effects may be hidden because the default size of the screen area that is defined for the Popup content does not provide enough space for the bitmap effects to display.

Popup Inhalt kann auch verdeckt werden, wenn Sie festlegen, eine RenderTransform auf dem Inhalt.Popup content can also be obscured when you set a RenderTransform on the content. In diesem Szenario wird ein Teil des Inhalts möglicherweise ausgeblendet werden, wenn der Inhalt des transformierten Popup reicht über den Bereich des ursprünglichen Popup.In this scenario, some content might be hidden if the content of the transformed Popup extends beyond the area of the original Popup. Wenn ein Bitmapeffekt oder eine Transformation mehr Speicherplatz erforderlich ist, können Sie definieren einen Rand um den Popup Inhalt, um mehr Platz für das Steuerelement zu gewährleisten.If a bitmap effect or transform requires more space, you can define a margin around the Popup content in order to provide more area for the control.

Definieren der Popup-PositionDefining the Popup Position

Sie können die position eines Popups durch Festlegen der PlacementTarget, PlacementRectangle, Placement, HorizontalOffset, und VerticalOffsetProperty Eigenschaften.You can position a popup by setting the PlacementTarget, PlacementRectangle, Placement, HorizontalOffset, and VerticalOffsetProperty properties. Weitere Informationen finden Sie unter Verhalten beim Platzieren von Popups.For more information, see Popup Placement Behavior. Wenn Popup wird angezeigt, auf dem Bildschirm, es ist nicht neu positionieren, selbst wenn das übergeordnete Element positioniert wird.When Popup is displayed on the screen, it does not reposition itself if its parent is repositioned.

Anpassen der PopupplatzierungCustomizing Popup Placement

Sie können anpassen, dass die Platzierung von eine Popup -Steuerelement durch Angabe der einen Satz von Koordinaten, die relativ sind die PlacementTarget möchten Sie die Popup angezeigt werden.You can customize the placement of a Popup control by specifying a set of coordinates that are relative to the PlacementTarget where you want the Popup to appear.

Um die Platzierung anzupassen, legen Sie die Placement Eigenschaft Custom.To customize placement, set the Placement property to Custom. Definieren Sie dann eine CustomPopupPlacementCallback Delegat, der einen Satz von möglichen Platzierungspunkten und Primärachsen (sortiert nach Präferenz) für zurückgibt der Popup.Then define a CustomPopupPlacementCallback delegate that returns a set of possible placement points and primary axes (in order of preference) for the Popup. Der Punkt, der den größten Teil zeigt die Popup wird automatisch ausgewählt.The point that shows the largest part of the Popup is automatically selected. Ein Beispiel finden Sie unter Angeben einer benutzerdefinierten Popupposition.For an example, see Specify a Custom Popup Position.

Ein Popup -Steuerelement besitzt keine eigene visuelle Struktur; es gibt stattdessen eine Größe von 0 (null) bei der MeasureOverride -Methode für Popup aufgerufen wird.A Popup control does not have its own visual tree; it instead returns a size of 0 (zero) when the MeasureOverride method for Popup is called. Jedoch beim Festlegen der IsOpen Eigenschaft Popup zu true, ein neues Fenster mit eigener visueller Struktur wird erstellt.However, when you set the IsOpen property of Popup to true, a new window with its own visual tree is created. Das neue Fenster enthält die Child des Popup.The new window contains the Child content of Popup. Die Breite und Höhe des neuen Fensters darf nicht größer als 75 Prozent der Breite oder Höhe des Bildschirms sein.The width and height of the new window cannot be larger than 75 percent of the width or height of the screen.

Die Popup -Steuerelement behält einen Verweis auf die Child Inhalte als ein untergeordnetes logisches Element.The Popup control maintains a reference to its Child content as a logical child. Wenn das neue Fenster erstellt wird, wird den Inhalt des Popup wird zu einem visuellen untergeordneten Element des Fensters und bleibt das logische untergeordnete Elemente Popup.When the new window is created, the content of Popup becomes a visual child of the window and remains the logical child of Popup. Im Gegensatz dazu Popup bleibt das logische übergeordnete Element der Child Inhalt.Conversely, Popup remains the logical parent of its Child content.

Siehe auchSee also