Нарисуйте сплошной треугольник, используя только XAML


80

Можно ли нарисовать заполненный треугольник, используя только XAML (а не код решения)?

Треугольник должен быть похож на изображение ниже, чтобы обозначить направление сортировки Ascending/Descendingвместе с кнопкой сортировки на элементе управления диаграммой:

введите описание изображения здесь

РЕДАКТИРОВАТЬ: Решение, благодаря SpeziFish :

Восходящий:

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

По убыванию:

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

1
Рисуем треугольник с прямоугольником? PathВместо этого вы могли бы посмотреть . Посмотрите здесь на простой пример.
erikH

@erikH: извините, но главное требование - только XAML
sll

Могу я спросить, почему вопрос был понижен?
sll 04

Ответы:


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

См. API или пример .


извините, главное требование - только XAML, так что с Polygon все в порядке. Как сделать его в 10 раз меньше?
sll

1
Разделите числа на десять. Числа - это просто пиксельные координаты (x, y) углов.
SpeziFish,

как вы позиционируете и вращаете? Я имею в виду, что хочу нарисовать треугольник, который будет располагаться вокруг круга (вне этого круга) на основе привязки. Есть идеи?
Джон Деметриу

для масштабирования вы можете добавить «Stretch = Fill», чтобы он масштабировался, чтобы соответствовать родительскому контейнеру, например Button.Content ..) Хорошо, только что заметил это в ответе @LongZheng :)
dba


25

Использование путей

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

как вы позиционируете и вращаете? Я имею в виду, что хочу нарисовать треугольник, который будет располагаться вокруг круга (вне этого круга) на основе привязки. Есть идеи?
Джон Деметриу

LayoutTransform может вам помочь. Возможно, лучший выход - создать Usercontrol со свойством зависимости «Direction», чтобы вы могли размещать его так часто, как вам нужно, без перезаписи xaml
dba
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.