我创建了一个自定义控件,其中包含在generic.xaml中定义的ContentPresenter。我可以成功地将其他控件嵌入到自定义控件中,但它似乎继承了自定义控件的布局管理器:
<Style TargetType="custom:Widget">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="custom:Widget">
<Canvas x:Name="LayoutRoot">
<!-- Custom Line, Ellipse code using Canvas from above... -->
<Grid>
<!-- This more local layout manager is overridden...why ? -->
<ContentPresenter x:Name="ContentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding
ContentTemplate}"/>
</Grid>
etc.....
在这种情况下,我使用 Canvas 作为自定义控件,而我想指定类似 Grid 的内容作为添加到Content的控件的布局管理器。我该怎么做?
谢谢,
斯科特
答案 0 :(得分:1)
斯科特,
确保您的自定义控件(自定义:窗口小部件)派生自ContentControl而非Control。只有ContentControl会关注可视化树中的ContentPresenters。
吉姆麦克库迪 YinYangMoney