Wpf 如何向UserControl添加子控件?

Wpf 如何向UserControl添加子控件?,wpf,vb.net,grid,controls,containers,Wpf,Vb.net,Grid,Controls,Containers,我创建了自己的Usercontrol,一个简单的网格,带有背景色和标题标签。这样就可以了,我可以在我的项目中添加这个Usercontrol 但是现在我希望能够将children添加到这个Usercontrol。所以我在Usercontrol中创建了一个网格,在这个网格中我想添加孩子。所以基本上当我说: MyUserControl.childrens.add(New Label()) 当然,我可以在UserControl中创建一个方法,然后简单地将该对象添加到网格中,如下所示:

我创建了自己的Usercontrol,一个简单的网格,带有背景色和标题标签。这样就可以了,我可以在我的项目中添加这个Usercontrol

但是现在我希望能够将children添加到这个Usercontrol。所以我在Usercontrol中创建了一个网格,在这个网格中我想添加孩子。所以基本上当我说:

    MyUserControl.childrens.add(New Label())
当然,我可以在UserControl中创建一个方法,然后简单地将该对象添加到网格中,如下所示:

    Public Sub addChild(byval o as object)
      gridForChildrens.Childrens.add(o)
    End Sub
但问题是:我希望能够将设计器和xaml中的控件拖放到Usercontrol中,但这不起作用。所以当我这样做时,背景色和标题标签就消失了

谢谢你的帮助

以下是我的xaml问题:

<UserControl.Template>
    <ControlTemplate TargetType="UserControl">
        <Border BorderBrush="#9B000000" BorderThickness="1" Margin="0,0,0,0" Padding="0">
            <Grid Margin="0" Name="outerGrid" Background="AliceBlue">

                <Label x:Name="Hallo" Content="someText"/>
                <!-- Content -->
                <ContentPresenter Name="MainContent" Grid.Row="1" Grid.Column="0" 
                              Content="{TemplateBinding Content}" />
            </Grid>
        </Border>
    </ControlTemplate>
</UserControl.Template>


因此,由于某些原因,我现在无法访问代码中的“Hallo”标签…

如果拖放控件替换了userControl内容,则userControl(而非designer)可能存在问题,它使用默认的
内容
而不是默认的
模板
。类似情况如下:。你能在你的问题中添加控制xaml标记吗?是的,这是我的问题。当我创建contentPresenter时,它就会工作。但在这种情况下,我无法在内容呈现器中访问此对象。如果拖放控件替换userControl内容,则可能是userControl(非designer)的问题,它使用默认的
内容
,而不是默认的
模板
。类似情况如下:。你能在你的问题中添加控制xaml标记吗?是的,这是我的问题。当我创建contentPresenter时,它就会工作。但在这种情况下,我无法在内容呈现器中访问此对象。