WP7删除黑色边框

时间:2012-11-16 18:47:51

标签: windows windows-phone-7 button border

我一直在努力寻找这个退出很长一段时间。

Windows在按钮组件周围添加了黑色(或透明)边框。原因是按钮的触摸区域稍大,因此点击按钮更容易。

在我的应用程序中,我真的需要删除该区域。我尝试了很多,但似乎这是不可能的。我也在Expression Blend中试过但没有运气。

    <Style x:Key="ButtonStyleCalendar" TargetType="Button">
        <Setter Property="Background" Value="{StaticResource PhoneAccentBrush}"/>
        <Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
        <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeSmall}"/>
        <Setter Property="Padding" Value="0"/>
        <Setter Property="Margin" Value="0" />
        <Setter Property="VerticalContentAlignment" Value="Top" />
    </Style>

这是我应用于按钮的样式。我认为这将是边距或填充,但不是它。

有没有人对此有答案?我搜索了stackoverflow但没有人想出解决方案。

提前致谢!

1 个答案:

答案 0 :(得分:3)

您需要覆盖按钮的ControlTemplate并移除Margin="{StaticResource PhoneTouchTargetOverhang}"。结果风格如下:

<Style x:Key="ButtonStyleCalendar" TargetType="Button">
    <Setter Property="Background" Value="Transparent"/>
    <Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}"/>
    <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
    <Setter Property="BorderThickness" Value="{StaticResource PhoneBorderThickness}"/>
    <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
    <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMediumLarge}"/>
    <Setter Property="Padding" Value="10,3,10,5"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
                <Grid Background="Transparent">
                    <Border x:Name="ButtonBackground" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="0" >
                        <ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
                    </Border>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>