Ich versuche, eine Schaltfläche zu erstellen, die ein Bild und keinen Rand enthält - genau wie die Schaltflächen in der Firefox-Symbolleiste, bevor Sie mit der Maus darüber fahren und die vollständige Schaltfläche sehen.
Ich habe versucht, das BorderBrush
auf Transparent
, BorderThickness
auf 0
und auch zu setzen BorderBrush="{x:Null}"
, aber Sie können immer noch den Umriss der Schaltfläche sehen.
wpf
button
transparency
Steven Jeuris
quelle
quelle
Antworten:
Versuche dies
quelle
HorizontalContentAlignment
aufStretch
.Möglicherweise müssen Sie die Schaltflächenvorlage ändern. Dadurch erhalten Sie eine Schaltfläche ohne Rahmen, aber auch ohne Druck oder deaktivierten Effekt:
Und der Knopf:
quelle
<Button Style="{StaticResource TransparentButton}"/>
sollte sein<Button Style="{StaticResource TransparentStyle}"/>
Was Sie tun müssen, ist ungefähr so:
Hoffe das ist was du gesucht hast.
Bearbeiten: Entschuldigung, ich habe vergessen zu erwähnen, dass Sie nur das Padding = "- 4" überspringen müssen, wenn Sie den Schaltflächenrand sehen möchten, wenn Sie mit der Maus über das Bild fahren .
quelle
Ich weiß nicht, warum andere nicht darauf hingewiesen haben, dass diese Frage mit dieser mit akzeptierter Antwort dupliziert wird .
Ich zitiere hier die Lösung: Sie müssen die außer Kraft setzen
ControlTemplate
derButton
:quelle
Sie können Hyperlink anstelle von Button wie folgt verwenden:
quelle
Möglicherweise wissen Sie bereits, dass das Einfügen Ihrer Schaltfläche in eine Symbolleiste zu diesem Verhalten führt. Wenn Sie jedoch etwas wünschen, das für ALLE aktuellen Themen mit jeder Art von Vorhersagbarkeit funktioniert, müssen Sie eine neue ControlTemplate erstellen.
Die Lösung von Prashant funktioniert nicht mit einer Schaltfläche, die sich nicht in einer Symbolleiste befindet, wenn die Schaltfläche den Fokus hat. Es funktioniert auch nicht 100% mit dem Standarddesign in XP - Sie können immer noch schwache graue Ränder sehen, wenn Ihr Containerhintergrund weiß ist.
quelle
Programmatisch können Sie dies tun:
quelle
Warum setzen Sie nicht beide
Background & BorderBrush
gleich?brush
quelle