Popup.Child Property

Gets or sets the content to be hosted in the popup.

Namespace:  System.Windows.Controls.Primitives
Assembly:  System.Windows (in System.Windows.dll)

'Declaration
Public Property Child As UIElement
<Popup ...>
  singleChild
</Popup>

XAML Values

singleChild

A single object element that the popup displays as content. This child must be an object that derives from UIElement.

Property Value

Type: System.Windows.UIElement
The content to be hosted in the popup.

Dependency property identifier field: ChildProperty

The Child property can be any single UIElement. In order to host multiple items, create a UserControl or host the content in a container, such as StackPanel or Grid. A popup will always appear on top of existing content, including other popup controls.

Child is the XAML content property for Popup, so you do not need to specify a Popup.Child property element in the XAML syntax. For more information about XAML content property syntax, see XAML Overview.

The following example shows how to use a Popup to display a border that contains a text block and a button. The popup content is created inline for conciseness, but you would typically create this content in a separate user control and use an instance of that control as the child of the popup.

Run this sample


' Create the popup object. 
Private p As New Popup()
Private Sub showPopup_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    ' Create some content to show in the popup. Typically you would 
    ' create a user control. 
    Dim border As New Border()
    border.BorderBrush = New SolidColorBrush(Colors.Black)
    border.BorderThickness = New Thickness(5)

    Dim panel1 As New StackPanel()
    panel1.Background = New SolidColorBrush(Colors.LightGray)

    Dim button1 As New Button()
    button1.Content = "Close"
    button1.Margin = New Thickness(5)
    AddHandler button1.Click, AddressOf button1_Click
    Dim textblock1 As New TextBlock()
    textblock1.Text = "The popup control"
    textblock1.Margin = New Thickness(5)
    panel1.Children.Add(textblock1)
    panel1.Children.Add(button1)
    border.Child = panel1

    ' Set the Child property of Popup to the border 
    ' which contains a stackpanel, textblock and button. 
    p.Child = border

    ' Set where the popup will show up on the screen. 
    p.VerticalOffset = 25
    p.HorizontalOffset = 25

    ' Open the popup. 
    p.IsOpen = True

End Sub

Private Sub button1_Click(ByVal sender As Object, _
    ByVal e As RoutedEventArgs)
    ' Close the popup. 
    p.IsOpen = False

End Sub



<UserControl x:Class="Popup2.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    FontFamily="Trebuchet MS" FontSize="11"
    Width="200" Height="200">

        <StackPanel x:Name="LayoutRoot" Background="White">
            <Button Width="100" Height="50" x:Name="showPopup" 
            Click="showPopup_Click" Content="Show Popup" />
        </StackPanel>
</UserControl>


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show: