none
关于使用资源中的控件模板 RRS feed

  • 问题

  • <Style  TargetType="Button">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="Button">
                            <Border BorderBrush="Red" BorderThickness="2" CornerRadius="5,5,5,5" Background="Yellow">
                                <TextBlock Text="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="15"/>
                            </Border>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
            
            
            <ControlTemplate x:Key="btnTemp" TargetType="Button">
                <Border x:Name="Border" BorderBrush="Red" BorderThickness="2" CornerRadius="5,5,5,5" Background="Yellow">
                    <TextBlock Text="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="15"/>
                </Border>          
            </ControlTemplate>

     
        </UserControl.Resources>
       
        <Grid>
            <Button x:Name="btn"  Width="50" Height="50" Content="test" Click="btn_Click">
            </Button>
        </Grid>

     

    以上代码 Resources中有两个内容,实现的功能是一样的

    为什么使用加粗部分的就不起作用的,我不是都写了TargetType="Button" 么,理论上,我任意使用一个都可以吧,怎么下面的加粗的没有用呢          


    Hero
    2011年10月17日 3:21

答案

  • 你好,

    只有Style可以不指定KEY而应用到所有同类型控件上。

    ControlTemplate不具有类似的功能。

    你需要显示的来使用加粗的ControlTemplate

    <Button Template="{StaticResource btnTemp}"/>
    


    Min Zhu [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年10月19日 6:56
    版主