Zeichnen Sie einfarbiges Dreieck nur mit XAML


80

Ist es möglich, ein ausgefülltes Dreieck nur mit XAML zu zeichnen (kein Code hinter der Lösung)?

Das Dreieck sollte wie im Bild unten aussehen, um die Sortierrichtung Ascending/Descendingzusammen mit einer Sortierschaltfläche in einem Diagrammsteuerelement darzustellen :

Geben Sie hier die Bildbeschreibung ein

EDIT: Die Lösung dank SpeziFish :

Aufsteigend:

<Polygon Points="0,0 8,5, 0,10" Stroke="Black" Fill="Black" />

Absteigend:

<Polygon Points="8,0 0,5, 8,10" Stroke="Black" Fill="Black" />

1
Ein Dreieck mit einem Rechteck zeichnen? Sie könnten Pathstattdessen untersuchen. Schauen Sie sich hier für ein einfaches Beispiel.
EricH

@erikH: Entschuldigung, die Hauptanforderung ist nur eine XAML
sll

Darf ich fragen, warum die Frage abgelehnt wurde?
sll

Antworten:


104
<Polygon Points="0,0 80,50, 0,100" Stroke="Black" Fill="Black" />

Siehe API oder Beispiel .


Entschuldigung, die Hauptanforderung ist nur eine XAML, also ist Polygon in Ordnung. Wie macht man es 10 mal kleiner?
sll

1
Teilen Sie die Zahlen um zehn. Die Zahlen sind leicht die Pixelkoordinaten (x, y) der Ecken.
SpeziFish

Wie positionierst und drehst du dich? Ich meine, ich möchte ein Dreieck zeichnen, das basierend auf der Bindung um einen Kreis (außerhalb dieses Kreises) positioniert wird. Irgendwelche Ideen?
John Demetriou

für die Skalierung können Sie „Stretch = Fill“ hinzufügen, so dass es den übergeordneten Container passen, zB Button.Content ..) Ok skaliert wird, entdeckte es nur in der Antwort von @LongZheng :)
dba

34

Ich möchte diese zu ihrer Sammlung hinzufügen:

Geben Sie hier die Bildbeschreibung ein

    <Polygon Points="5,0 10,10, 0,10" Stroke="Black" Fill="Black" />

Geben Sie hier die Bildbeschreibung ein

    <Polygon Points="0,0 5,10, 10,0" Stroke="Black" Fill="Black" />

24

Pfade verwenden

<Path Width="33" Height="37" Stretch="Fill" Stroke="Black" Fill="Black" Data="F1 M 319.344,237.333L 287.328,218.849L 287.328,255.818L 319.344,237.333 Z "/>
<Path Width="33" Height="37" Stretch="Fill" Stroke="Black" Fill="Black" Data="F1 M 287.328,237.333L 319.344,255.818L 319.344,218.849L 287.328,237.333 Z "/>

Wie positionierst und drehst du dich? Ich meine, ich möchte ein Dreieck zeichnen, das basierend auf der Bindung um einen Kreis (außerhalb dieses Kreises) positioniert wird. Irgendwelche Ideen?
John Demetriou

LayoutTransform könnte Ihnen helfen. Vielleicht ist die beste Möglichkeit, ein Benutzersteuerelement mit einer Abhängigkeitseigenschaft 'Richtung' zu erstellen, damit Sie es so oft platzieren können, wie Sie es benötigen, ohne das xaml
dba am
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.