1

私は長い間これをやめようとしていました。

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 を検索しましたが、誰も解決策を思いつきませんでした。

前もって感謝します!

4

1 に答える 1

3

ControlTemplateButton のをオーバーライドして を削除する必要があります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>
于 2012-11-16T20:04:57.790 に答える