请教我如何正确使用ControlTemplate? (有人删除了)

时间:2012-02-03 21:05:32

标签: wpf silverlight controltemplate

好吧,我觉得我很喜欢使用ControlTemplate lol ......

我想要的只是模板化我的每个UserControl,以便每个UserControl都有删除,保存,取消按钮。

所以现在我正在写一些测试...... 尝试围绕一切做出边界......

在App.xaml中

<Application.Resources>
    <ControlTemplate x:Key="DeleteSaveCancelTemplate">
        <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
            <Border BorderThickness="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Black"> 
                <ContentPresenter/>
            </Border>
        </Grid>
    </ControlTemplate>
</Application.Resources>

然后在UserControl中:

<UserControl ...  Height="150" Width="300"  Template="{StaticResource DeleteSaveCancelTemplate}" >

但我所看到的只是......黑......我做错了什么?我以为我应该使用ContentPresenter来显示内容?

2 个答案:

答案 0 :(得分:0)

对于大多数控件,您使用ContentPresenter。 ItemsPresenter仅适用于扩展ItemsControl的元素。

答案 1 :(得分:0)

所以......我发现问题lol来自this page ControlPresenter 默认情况下不会绑定到内容... 我需要写

   <ContentPresenter Content="{TemplateBinding Property=ContentControl.Content}" />

除非您指定了TargetType,否则它将默认绑定。