BlockUIContainer.Child 属性

定义

获取或设置由 UIElement 承载的 BlockUIContainer

public:
 property System::Windows::UIElement ^ Child { System::Windows::UIElement ^ get(); void set(System::Windows::UIElement ^ value); };
public System.Windows.UIElement Child { get; set; }
member this.Child : System.Windows.UIElement with get, set
Public Property Child As UIElement

属性值

UIElement

UIElement 承载的 BlockUIContainer

示例

以下示例演示如何使用 BlockUIContainer 元素在流内容中托管 UIElement 元素。

<FlowDocument ColumnWidth="400">
  <Section Background="GhostWhite">
    <Paragraph>
      A UIElement element may be embedded directly in flow content
      by enclosing it in a BlockUIContainer element.
    </Paragraph>
    <BlockUIContainer>
      <Button>Click me!</Button>
    </BlockUIContainer>
    <Paragraph>
      The BlockUIContainer element may host no more than one top-level
      UIElement.  However, other UIElements may be nested within the
      UIElement contained by an BlockUIContainer element.  For example,
      a StackPanel can be used to host multiple UIElement elements within
      a BlockUIContainer element.
    </Paragraph>
    <BlockUIContainer>
      <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>
    </BlockUIContainer>
  </Section>
</FlowDocument>

下图显示了此示例的呈现效果。

屏幕快照:嵌入在流内容中的 UIElement

以下示例演示如何以编程方式使用 Child 属性。

Section secx = new Section();
Paragraph par1 = new Paragraph(new Run(" Text to precede the button... "));
Paragraph par2 = new Paragraph(new Run(" Text to follow the button... "));

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

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

// Add the text runs and UI container to the paragraph, in order.
secx.Blocks.Add(par1);
secx.Blocks.Add(uiCont);
secx.Blocks.Add(par2);
Dim secx As New Section()
Dim par1 As New Paragraph(New Run(" Text to precede the button... "))
Dim par2 As New Paragraph(New Run(" Text to follow the button... "))

' Create a new button to be hosted in the section.
Dim buttonx2 As New Button()
buttonx2.Content = "Click me!"

' Create a new BlockUIContainer, and assign the button 
' as the UI container's child.
Dim uiCont2 As New BlockUIContainer()
uiCont2.Child = buttonx2

' Add the text runs and UI container to the paragraph, in order.
secx.Blocks.Add(par1)
secx.Blocks.Add(uiCont2)
secx.Blocks.Add(par2)

注解

一个 BlockUIContainer 可能直接托管不超过一个 UIElement 子级。 但是,由某个 BlockUIContainer 子元素托管的子元素可以托管自己的子元素。

在 XAML 中,包装一个UIElementBlockUIContainer等效于将它UIElement设置为属性的值Child

适用于