Come rimuovi completamente il bordo del pulsante in wpf?

Sto provando a creare un pulsante con un’immagine al suo interno e senza bordi, proprio come i pulsanti della barra degli strumenti di Firefox prima di passare con il mouse su di loro e vedere il pulsante completo.

Ho provato a impostare BorderBrush su Transparent , BorderThickness su 0 , e BorderBrush="{x:Null}" anche provato BorderBrush="{x:Null}" , ma puoi ancora vedere il contorno del pulsante.

Prova questo

  

Potrebbe essere necessario cambiare il modello di pulsante, questo ti darà un pulsante senza cornice come mai, ma anche senza alcun effetto di stampa o disabilitato:

   

E il pulsante:

  

Quello che devi fare è qualcosa del genere:

  

Spero che questo sia quello che stavi cercando.

Modifica: Scusa, ho dimenticato di dire che se vuoi vedere il bordo del pulsante quando passi sopra l’immagine, tutto ciò che devi fare è saltare il Padding = “- 4” .

Non so perché altri non abbiano sottolineato che questa domanda è duplicata con questa con risposta accettata .

Cito qui la soluzione: è necessario sostituire il ControlTemplate del Button :

  

È ansible utilizzare il collegamento ipertestuale anziché il pulsante, in questo modo:

       

Potresti già sapere che inserire il tuo Button in una barra degli strumenti ti dà questo comportamento, ma se vuoi qualcosa che funzioni su TUTTI i temi attuali con qualsiasi tipo di prevedibilità, dovrai creare un nuovo ControlTemplate.

La soluzione di Prashant non funziona con un pulsante non in una barra degli strumenti quando il pulsante è attivo. Inoltre, non funziona al 100% con il tema predefinito in XP: è ancora ansible vedere i bordi grigi deboli quando lo sfondo del contenitore è bianco.

A livello di codice, puoi farlo:

 btn.BorderBrush = new SolidColorBrush(Colors.Transparent); 

Perché non imposti sia Background & BorderBrush con lo stesso brush