So zeichnen Sie eine Schaltfläche in XAML als Kreis neu

So zeichnen Sie eine Schaltfläche in XAML als Kreis neu
Beim Verwenden des XAML-Layouts müssen manchmal einige Schaltflächen Kreise anstelle der standardmäßigen Rechtecke verwenden, um der Benutzeroberfläche ein Metro-ähnliches Aussehen zu verleihen. Der folgende Button-Stil kann dieses Problem lösen und kann entsprechend Ihren Anforderungen geändert werden. Wenn Sie mit Bland vertraut sind, können Sie es natürlich direkt verwenden, um den gewünschten Stil zu zeichnen, aber ist es schneller, den Code einzufügen?

Code kopieren
Der Code lautet wie folgt:

<Style x:Key="btnNext" Zieltyp="Schaltfläche">
<Setter-Eigenschaft="Vorlage">
<Setter.Wert>
<ControlTemplate TargetType="Schaltfläche">
<Raster>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Gedrückt">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="Rechteck">
<DiscreteObjectKeyFrame KeyTime="0">
<DiskretesObjektKeyFrame.Wert>
<Dicke>-3</Dicke>
</DiscreteObjectKeyFrame.Value>
</DiskretesObjektKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Normal"/>
<VisualState x:Name="Deaktiviert"/>
<VisualState x:Name="MouseOver"/>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Fokussiert"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rechteck x:Name="Rechteck" RadiusY="25" RadiusX="25" Strich="Blau" Strichstärke="4">
</Rechteck>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Raster>
</ControlTemplate>
</Setter.Wert>
</Setter>
<Setter-Eigenschaft="Margin" Wert="5"/>
<Setter-Eigenschaft="Breite" Wert="50"/>
<Setter-Eigenschaft="Höhe" Wert="50"/>
<Setter-Eigenschaft="Schriftgröße" Wert="120"/>
<Setter Property="Vordergrund" Value="Weiß"/>
</Stil>

<<:  Detaillierte Erläuterung des Datenproxys und der Ereignisse von VUE

>>:  Zwei Möglichkeiten, die CSS-Priorität zu verstehen

Artikel empfehlen

Analyse des neuen Ressourcenmanagementsystems von CocosCreator

Inhaltsverzeichnis 1. Ressourcen und Konstruktion...

Tutorial zur Installation von MySQL 5.6 auf CentOS 6.5

1. Laden Sie das RPM-Paket für Linux herunter htt...

Zusammenfassung der praktischen Erfahrungen zu HTML-Wissenspunkten

1. Das Tabellen-Tag ist Tabelle, tr ist Zeile, td ...

Beispielcode zur Implementierung eines zufälligen Roll Callers in HTML

Nachdem dieses Namensaufrufgerät mit dem Aufruf d...

Informationen zur ROS2-Installation und zur Verwendung der Docker-Umgebung

Inhaltsverzeichnis Warum Docker verwenden? Docker...

So installieren Sie den Xrdp-Server (Remote Desktop) unter Ubuntu 20.04

Xrdp ist eine Open-Source-Implementierung des Rem...

MySQL sollte niemals Update-Anweisungen wie diese schreiben

Inhaltsverzeichnis Vorwort Ursache Phänomen warum...

Lernen, React-Gerüste zu bauen

1. Komplexität des Front-End-Engineerings Wenn wi...

Einfaches Beispiel für den Grenzwertparameter der MySQL-Paging

Zwei Parameter der MySQL-Paging Wählen Sie * aus ...

Verwendung des Linux-Befehls usermod

1. Befehlseinführung Der Befehl usermod (user mod...

Beispielcode für die Batchbereitstellung von Nginx mit Ansible

1.1 Kopieren Sie das Nginx-Installationspaket und...

10 beliebte Windows-Apps, die auch unter Linux verfügbar sind

Laut dem Datenanalyseunternehmen Net Market Share...