2017-09-06 17 views
0

UWP:如何移除ToggleButton的鼠标悬停和鼠标按下背景?UWP将ToggleButton鼠标移除并将鼠标按下背景

XAML:

(PS:这个工作在一个Button

<Style TargetType="ToggleButton"> 
     <Setter Property="Foreground" Value="White"/> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="ToggleButton"> 
        <Grid x:Name="RootGrid" Background="{TemplateBinding Background}"> 
         <VisualStateManager.VisualStateGroups> 
          <VisualStateGroup x:Name="CommonStates"> 
           <VisualState x:Name="Normal"> 
           </VisualState> 
           <VisualState x:Name="PointerOver"> 
           </VisualState> 
          </VisualStateGroup> 
         </VisualStateManager.VisualStateGroups> 
         <ContentPresenter 
          x:Name="ContentPresenter" 
          BorderBrush="Transparent" 
          BorderThickness="{TemplateBinding BorderThickness}" 
          Content="{TemplateBinding Content}" 
          ContentTransitions="{TemplateBinding ContentTransitions}" 
          ContentTemplate="{TemplateBinding ContentTemplate}" 
          Padding="{TemplateBinding Padding}" 
          HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" 
          VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" 
          AutomationProperties.AccessibilityView="Raw" 
          Foreground="White"/> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

结果(注:黑方周围和它有点暗背景):

enter image description here

另一个图像的同一个按钮,但后来检查,也许更好看看它看起来有多可怕。下面

enter image description here

+0

我强烈建议您使用'ToggleButton'的造型来控制它的外观,而不是硬编码的尝试像这样的图像。 –

回答

0

https://msdn.microsoft.com/en-us/library/windows/apps/mt299157.aspx

例工作得很好:

 <Style x:Key="NakedToggleButton" TargetType="ToggleButton"> 
      <Setter Property="Background" Value="{ThemeResource SystemControlBackgroundBaseLowBrush}" /> 
      <Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}"/> 
      <Setter Property="BorderBrush" Value="{ThemeResource SystemControlForegroundTransparentBrush}" /> 
      <Setter Property="BorderThickness" Value="{ThemeResource ToggleButtonBorderThemeThickness}" /> 
      <Setter Property="Padding" Value="8,4,8,4" /> 
      <Setter Property="HorizontalAlignment" Value="Left" /> 
      <Setter Property="VerticalAlignment" Value="Center" /> 
      <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" /> 
      <Setter Property="FontWeight" Value="Normal" /> 
      <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" /> 
      <Setter Property="UseSystemFocusVisuals" Value="True" /> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="ToggleButton"> 
         <Grid x:Name="RootGrid" Background="Transparent"> 
          <VisualStateManager.VisualStateGroups> 
           <VisualStateGroup x:Name="CommonStates"> 
            <VisualState x:Name="PointerOver"> 
            </VisualState> 
            <VisualState x:Name="Pressed"> 
            </VisualState> 
            <VisualState x:Name="Disabled"> 
            </VisualState> 
            <VisualState x:Name="Checked"> 
            </VisualState> 
            <VisualState x:Name="CheckedPointerOver"> 
            </VisualState> 
            <VisualState x:Name="CheckedPressed"> 
            </VisualState> 
            <VisualState x:Name="CheckedDisabled"> 
            </VisualState> 
            <VisualState x:Name="Indeterminate"> 
            </VisualState> 
            <VisualState x:Name="IndeterminatePointerOver"> 
            </VisualState> 
            <VisualState x:Name="IndeterminatePressed"> 
            </VisualState> 
            <VisualState x:Name="IndeterminateDisabled"> 
            </VisualState> 
           </VisualStateGroup> 
          </VisualStateManager.VisualStateGroups> 
          <ContentPresenter x:Name="ContentPresenter" 
               BorderBrush="{TemplateBinding BorderBrush}" 
               BorderThickness="{TemplateBinding BorderThickness}" 
               Content="{TemplateBinding Content}" 
               ContentTransitions="{TemplateBinding ContentTransitions}" 
               ContentTemplate="{TemplateBinding ContentTemplate}" 
               Padding="{TemplateBinding Padding}" 
               HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" 
               VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" 
               AutomationProperties.AccessibilityView="Raw"/> 
         </Grid> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style>