Wpf 如何向UserControl添加子控件?
我创建了自己的Usercontrol,一个简单的网格,带有背景色和标题标签。这样就可以了,我可以在我的项目中添加这个Usercontrol 但是现在我希望能够将children添加到这个Usercontrol。所以我在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中创建一个方法,然后简单地将该对象添加到网格中,如下所示:
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时,它就会工作。但在这种情况下,我无法在内容呈现器中访问此对象。