我在Blend中创建了一个简单的UserControl,其中包含(其中包括)ContentPresenter。
我希望能够将此UserControl放到另一个UserControl上,然后将其他控件添加到其ContentPresenter中,但是当我将它包含在第二个UserControl中时,我看不到这样做的方法。
使用Blend,我如何公开底层的ContentPresenter,以便可以直观地设置其内容(即:它们在Objects和Timeline窗口中显示为子控件)?
答案 0 :(得分:0)
如果是内容控件,要添加子控件,请将它们设置为控件的内容
<MyContentControl>
<Grid x:Name=”ImAChild”>
</Grid>
</MyContentControl>
编辑:现在我想到你可能需要做一些事情来使Content属性成为你的控件的内部xaml填充的默认属性,我不记得它到底是什么,但如果你的xaml看起来像这样(下面)无论如何都无关紧要
<MyContentControl>
<MyContentControl.Content>
<Grid x:Name=”ImAChild”>
</Grid>
</MyContentControl.Content>
</MyContentControl>
EDIT2
您的MyUserControl
需要MyContent
object
类型的属性,并且必须以某种方式显示该属性的值。您可以在MyContent属性的setter中创建它,但它似乎是“hacky”
<MyUserControl>
<MyUserControl.MyContent>
<Grid x:Name=”ImAChild”>
</Grid>
</MyContentControl.MyContent>
</MyUserControl>