Rysuj trójkąt w jednolitym kolorze, używając tylko języka XAML

80

Czy można narysować wypełniony trójkąt przy użyciu tylko XAML (a nie kodu za rozwiązaniem)?

Trójkąt powinien wyglądać jak na poniższym obrazku, aby przedstawiać kierunek sortowania Ascending/Descendingwraz z przyciskiem sortowania na kontrolce wykresu:

wprowadź opis obrazu tutaj

EDYCJA: Rozwiązanie dzięki SpeziFish :

Rosnąco:

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

Malejąco:

<Polygon Points="8,0 0,5, 8,10" Stroke="Black" Fill="Black" />
sll
źródło
1
Rysowanie trójkąta za pomocą prostokąta? Zamiast tego możesz zajrzeć Path. Spójrz tutaj na podstawowy przykład.
erikH
@erikH: przepraszam, głównym wymaganiem jest tylko XAML
sll
Czy mogę zapytać, dlaczego pytanie zostało obniżone?
SLL

Odpowiedzi:

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

Zobacz API lub przykład .

SpeziFish
źródło
przepraszam, głównym wymaganiem jest tylko XAML, więc wielokąt jest w porządku. Jak zmniejszyć 10 razy?
sll
1
Podziel liczby przez dziesięć. Liczby są łatwo współrzędnymi pikselowymi (x, y) rogów.
SpeziFish
jak jednak ustawiasz i obracasz? Chodzi mi o to, że chcę narysować trójkąt, który będzie umieszczony wokół koła (poza tym okręgiem) na podstawie wiązania. Jakieś pomysły?
John Demetriou
do skalowania możesz dodać „Stretch = Fill”, dzięki czemu zostanie przeskalowany, aby pasował do kontenera nadrzędnego, np. Button.Content ..) Ok, właśnie zauważyłem to w odpowiedzi @LongZheng :)
dba
35

Chcę dodać te do ich kolekcji:

wprowadź opis obrazu tutaj

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

wprowadź opis obrazu tutaj

    <Polygon Points="0,0 5,10, 10,0" Stroke="Black" Fill="Black" />
Vladimir Trifonov
źródło
25

Korzystanie ze ścieżek

<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 "/>
LongZheng
źródło
jak jednak ustawiasz i obracasz? Chodzi mi o to, że chcę narysować trójkąt, który będzie umieszczony wokół koła (poza tym okręgiem) na podstawie wiązania. Jakieś pomysły?
John Demetriou
LayoutTransform może Ci w tym pomóc. Może najlepszym ujęciem jest utworzenie kontroli użytkownika z właściwością zależności `` Kierunek '', aby móc umieszczać ją tak często, jak potrzebujesz, bez przepisywania XAML
dba