设置CornerRadius按钮模板 [英] Set CornerRadius on button template

查看:101
本文介绍了设置CornerRadius按钮模板的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想有一个按钮,确定没有 CornerRadius 和另外两个人的事,我怎么能做到这一点?



 <风格的TargetType =按钮X:键=TabButton> 
< setter属性=背景值=白/>
< setter属性=TextBlock.TextAlignmentVALUE =中心/>
< setter属性=模板>
< Setter.Value>
<的ControlTemplate的TargetType =按钮>
< BORDER CornerRadius =0背景=白BorderBrush =#CCC了borderThickness =0,1,1,0>
< ContentPresenter X:NAME =contentPresenter的ContentTemplate ={TemplateBinding的ContentTemplate}CONTENT ={TemplateBinding内容}的Horizo​​ntalAlignment ={TemplateBinding Horizo​​ntalContentAlignment}保证金={TemplateBinding填充}VerticalAlignment ={ TemplateBinding VerticalContentAlignment}/>
< /边框>
< /控件模板>
< /Setter.Value>
< /二传手>
< /样式和GT;

<风格的TargetType =按钮X:键=TabButtonFirst支持算法FMP ={StaticResource的TabButton}>
< setter属性=CornerRadiusVALUE =3,0,0,0/>
< /样式和GT;

<风格的TargetType =按钮X:键=TabButtonLast支持算法FMP ={StaticResource的TabButton}>
< setter属性=CornerRadiusVALUE =0,0,0,3/>
< /样式和GT;


解决方案

由于Nitesh说你没有一个CornerRadius物业在按钮上,它是边界的属性,你在你的第一个风格已经证明,仅仅复制你的第一个样式,改变CornerRadius,然后将其分配给相应的按钮的样式。

 <窗口x:类=WpfApplication1.MainWindow
的xmlns =http://schemas.microsoft.com/winfx/2006/xaml/演示
的xmlns:X =http://schemas.microsoft.com/winfx/2006/xaml
标题=主窗口HEIGHT =350WIDTH =525>
< Window.Resources>
<风格的TargetType =按钮X:键=TabButton>
< setter属性=背景值=白/>
< setter属性=TextBlock.TextAlignmentVALUE =中心/>
< setter属性=模板>
< Setter.Value>
<的ControlTemplate的TargetType =按钮>
< BORDER CornerRadius =0背景=白BorderBrush =#CCC了borderThickness =0,1,1,0>
< ContentPresenter X:NAME =contentPresenter的ContentTemplate ={TemplateBinding的ContentTemplate}CONTENT ={TemplateBinding内容}的Horizo​​ntalAlignment ={TemplateBinding Horizo​​ntalContentAlignment}保证金={TemplateBinding填充}VerticalAlignment ={ TemplateBinding VerticalContentAlignment}/>
< /边框>
< /控件模板>
< /Setter.Value>
< /二传手>
< /样式和GT;
<风格的TargetType =按钮X:键=TabButtonFirst>
< setter属性=背景值=白/>
< setter属性=TextBlock.TextAlignmentVALUE =中心/>
< setter属性=模板>
< Setter.Value>
<的ControlTemplate的TargetType =按钮>
< BORDER CornerRadius =3,0,0,0背景=白BorderBrush =#CCC了borderThickness =0,1,1,0>
< ContentPresenter X:NAME =contentPresenter的ContentTemplate ={TemplateBinding的ContentTemplate}CONTENT ={TemplateBinding内容}的Horizo​​ntalAlignment ={TemplateBinding Horizo​​ntalContentAlignment}保证金={TemplateBinding填充}VerticalAlignment ={ TemplateBinding VerticalContentAlignment}/>
< /边框>
< /控件模板>
< /Setter.Value>
< /二传手>
< /样式和GT;
<风格的TargetType =按钮X:键=TabButtonLast>
< setter属性=背景值=白/>
< setter属性=TextBlock.TextAlignmentVALUE =中心/>
< setter属性=模板>
< Setter.Value>
<的ControlTemplate的TargetType =按钮>
< BORDER CornerRadius =0,0,0,3背景=白BorderBrush =#CCC了borderThickness =0,1,1,0>
< ContentPresenter X:NAME =contentPresenter的ContentTemplate ={TemplateBinding的ContentTemplate}CONTENT ={TemplateBinding内容}的Horizo​​ntalAlignment ={TemplateBinding Horizo​​ntalContentAlignment}保证金={TemplateBinding填充}VerticalAlignment ={ TemplateBinding VerticalContentAlignment}/>
< /边框>
< /控件模板>
< /Setter.Value>
< /二传手>
< /样式和GT;
< /Window.Resources>
<网格背景=黑>
<按钮样式={StaticResource的TabButton}CONTENT =按钮HEIGHT =23的Horizo​​ntalAlignment =左保证金=12,72,0,0NAME =Button1的VerticalAlignment =壮志WIDTH =75/>
<按钮样式={StaticResource的TabButtonFirst}CONTENT =按钮HEIGHT =23的Horizo​​ntalAlignment =左保证金=10,43,0,0NAME =按钮2VerticalAlignment =壮志WIDTH =75/>
<按钮样式={StaticResource的TabButtonLast}CONTENT =按钮HEIGHT =23的Horizo​​ntalAlignment =左保证金=12,101,0,0NAME =按钮3VerticalAlignment =评出的宽=75/>
< /网格和GT;
< /窗GT;



在这里输入的形象描述


I want to have a Button that defines no CornerRadius and two others that do, how can I achieve this?

<Style TargetType="Button" x:Key="TabButton">
    <Setter Property="Background" Value="White" />
    <Setter Property="TextBlock.TextAlignment" Value="Center" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <Border CornerRadius="0" Background="White" BorderBrush="#ccc" BorderThickness="0,1,1,0" >
                    <ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

<Style TargetType="Button" x:Key="TabButtonFirst" BasedOn="{StaticResource TabButton}">
    <Setter Property="CornerRadius" Value="3,0,0,0" />
</Style>

<Style TargetType="Button" x:Key="TabButtonLast" BasedOn="{StaticResource TabButton}">
    <Setter Property="CornerRadius" Value="0,0,0,3" />
</Style>

解决方案

As Nitesh has said you do not have a CornerRadius Property on the Button, it is a property of the Border as you have shown in your first style, just duplicate your first Style and change the CornerRadius, then assign it to the Style of the appropriate Button.

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <Style TargetType="Button" x:Key="TabButton">
            <Setter Property="Background" Value="White" />
            <Setter Property="TextBlock.TextAlignment" Value="Center" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border CornerRadius="0" Background="White" BorderBrush="#ccc" BorderThickness="0,1,1,0" >
                            <ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <Style TargetType="Button" x:Key="TabButtonFirst">
            <Setter Property="Background" Value="White" />
            <Setter Property="TextBlock.TextAlignment" Value="Center" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border CornerRadius="3,0,0,0" Background="White" BorderBrush="#ccc" BorderThickness="0,1,1,0" >
                            <ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
         </Style>
         <Style TargetType="Button" x:Key="TabButtonLast">
            <Setter Property="Background" Value="White" />
            <Setter Property="TextBlock.TextAlignment" Value="Center" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Border CornerRadius="0,0,0,3" Background="White" BorderBrush="#ccc" BorderThickness="0,1,1,0" >
                            <ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
      </Window.Resources>
        <Grid Background="Black">
        <Button Style="{StaticResource TabButton}" Content="Button" Height="23" HorizontalAlignment="Left" Margin="12,72,0,0" Name="button1" VerticalAlignment="Top" Width="75" />
        <Button Style="{StaticResource TabButtonFirst}" Content="Button" Height="23" HorizontalAlignment="Left" Margin="10,43,0,0" Name="button2" VerticalAlignment="Top" Width="75" />
        <Button Style="{StaticResource TabButtonLast}" Content="Button" Height="23" HorizontalAlignment="Left" Margin="12,101,0,0" Name="button3" VerticalAlignment="Top" Width="75" />
    </Grid>
</Window>

这篇关于设置CornerRadius按钮模板的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆