InlineUIContainer.Child Property

Definition

Gets or sets the UIElement hosted by the InlineUIContainer.

public System.Windows.UIElement Child { get; set; }

Property Value

The UIElement hosted by the InlineUIContainer.

Examples

The following example shows how to use the InlineUIContainer elements to host UIElement elements within flow content.

<FlowDocument ColumnWidth="400">
  <Paragraph Background="GhostWhite">
    <Run>
      A UIElement element may be embedded directly in flow content
      by enclosing it in an InlineUIContainer element.
    </Run>
    <LineBreak/>
    <LineBreak/>
    <InlineUIContainer>
      <Button>Click me!</Button>
    </InlineUIContainer>
    <LineBreak/>
    <LineBreak/>
    <Run>
      The InlineUIContainer element may host no more than one top-level
      UIElement.  However, other UIElements may be nested within the
      UIElement contained by an InlineUIContainer element.  For example,
      a StackPanel can be used to host multiple UIElement elements within
      an InlineUIContainer element.
    </Run>
    <InlineUIContainer>
      <StackPanel>
        <Label Foreground="Blue">Choose a value:</Label>
        <ComboBox>
          <ComboBoxItem IsSelected="True">a</ComboBoxItem>
          <ComboBoxItem>b</ComboBoxItem>
          <ComboBoxItem>c</ComboBoxItem>
        </ComboBox>
        <Label Foreground ="Red">Choose a value:</Label>
        <StackPanel>
          <RadioButton>x</RadioButton>
          <RadioButton>y</RadioButton>
          <RadioButton>z</RadioButton>
        </StackPanel>
        <Label>Enter a value:</Label>
        <TextBox>
          A text editor embedded in flow content.
        </TextBox>
      </StackPanel>
    </InlineUIContainer>
  </Paragraph>
</FlowDocument>

The following figure shows how this example renders.

Screenshot: UIElement elements embedded in flow

The following example shows how to use the Child property programmatically.

Paragraph parx = new Paragraph();
Run run1 = new Run(" Text to precede the button... ");
Run run2 = new Run(" Text to follow the button... ");

// Create a new button to be hosted in the paragraph.
Button buttonx = new Button();
buttonx.Content = "Click me!";

// Create a new InlineUIContainer, and assign the button 
// as the UI container's child.
InlineUIContainer uiCont = new InlineUIContainer();
uiCont.Child = buttonx;

// Add the text runs and UI container to the paragraph, in order.
parx.Inlines.Add(run1);
parx.Inlines.Add(uiCont);
parx.Inlines.Add(run2);

Remarks

An InlineUIContainer may directly host no more than one UIElement child. However, the child element hosted by an InlineUIContainer may host children of its own.

In XAML, wrapping a UIElement in an InlineUIContainer is equivalent to setting that UIElement as the value of the Child property.

Applies to

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9