Condividi tramite


Popup.Child Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

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

Syntax

'Declaration
Public Property Child As UIElement
public UIElement Child { get; set; }
<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.

Remarks

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.

Examples

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
// Create the popup object.
Popup p = new Popup();
private void showPopup_Click(object sender, RoutedEventArgs e)
{
    // Create some content to show in the popup. Typically you would 
    // create a user control.
    Border border = new Border();
    border.BorderBrush = new SolidColorBrush(Colors.Black);
    border.BorderThickness = new Thickness(5.0);

    StackPanel panel1 = new StackPanel();
    panel1.Background = new SolidColorBrush(Colors.LightGray);

    Button button1 = new Button();
    button1.Content = "Close";
    button1.Margin = new Thickness(5.0);
    button1.Click += new RoutedEventHandler(button1_Click);
    TextBlock textblock1 = new TextBlock();
    textblock1.Text = "The popup control";
    textblock1.Margin = new Thickness(5.0);
    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;

}

void button1_Click(object sender, RoutedEventArgs e)
{
    // Close the popup.
    p.IsOpen = false;

}
<UserControl x:Class="Popup2.Page"
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="https://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>

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

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

Platforms

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