将模板化控件包含到模板中?

时间:2012-09-26 16:48:32

标签: c# silverlight templates controltemplate

我想模板化Control并将Control本身包含在模板中,而不仅仅是控件的内容。

例如,我有一个按钮:

<Grid x:Name="LayoutRoot" Background="White">

        <Button Name="hello" Content="123" Width="100" Height="100" >
        </Button>

</Grid>

我想更广泛地围绕这个按钮,所以它看起来像这样:

<Grid x:Name="LayoutRoot" Background="White" Width="120" Height="120">

        <Rectangle Fill="AliceBlue"/>
        <Button Name="hello"  Content="123" Width="100" Height="100" >
        </Button>

</Grid>

但我想让这个更加天才,不仅是为了按钮,还为了其他一些控制。 即Image,TreeViewItem等。

所以我创建了一个模板:

<UserControl.Resources>

    <Style TargetType="Button">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid Width="120" Height="120">
                        <Rectangle Fill="AliceBlue"/>                            
                        <ContentPresenter  Content="{TemplateBinding Property=ContentControl.Content}" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White">

        <Button Name="hello"  Content="123" Width="100" Height="100" >
        </Button>
</Grid>

现在ContentPresenter只显示Button的内容,但不包括按钮本身,我如何包含模板化控件呢?

0 个答案:

没有答案