2013-08-08 10 views
6

Sto utilizzando un semplice pulsante in WPF. Ho messo un'immagine per il pulsante sullo sfondo. Il mio problema è che quando sposto il puntatore del mouse su un pulsante ottiene un bagliore di default e sovrascrive l'immagine data come sfondo.Come rimuovere il bagliore del pulsante al passaggio del mouse nel WPF

 <Button Grid.Column="3" Name="Play" BorderBrush="Transparent" 
      Focusable="False" Width="45" Height="45" Click="Play_Click" 
      VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,6,10,6"> 
      <Button.Background > 
       <ImageBrush ImageSource="images/play.png" /> 
      </Button.Background> 
      <Button.Foreground> 
       <ImageBrush ImageSource="images/play.png" /> 
      </Button.Foreground> 
     </Button> 

Per favore aiutatemi.

risposta

19

È definito in ControlTemplate del pulsante. Dovresti crearne uno tuo.

per esempio come questo.

<Style x:Key="MyButtonStyle" TargetType="Button"> 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="Button"> 
      <Grid Background="{TemplateBinding Background}"> 
       <ContentPresenter HorizontalAlignment="Center" 
         VerticalAlignment="Center"/> 
      </Grid> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 

Quindi è possibile applicare questo stile al pulsante. e imposta Background per quella tua immagine.

<Button Style="{StaticResource MyButtonStyle}" Grid.Column="3" Name="Play" BorderBrush="Transparent" 
     Focusable="False" Width="45" Height="45" Click="Play_Click" 
     VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,6,10,6"> 
     <Button.Background > 
      <ImageBrush ImageSource="images/play.png" /> 
     </Button.Background> 
</Button>