2012-11-16 216 views
1

我一直在努力尋找這個退出了很長一段時間。WP7刪除黑色邊框

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,但沒有人提出解決方案。

在此先感謝!

回答

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> 
+0

非常感謝!這就像一個魅力:)。 – SamVerschueren

+0

@Unknown讓此答案。將幫助奧利弗以及其他誰遇到這個問題。 –