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" />

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 .


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" />

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 "/>

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.