Dibujar un triángulo de color sólido usando solo XAML

80

¿Es posible dibujar un triángulo relleno usando solo XAML (no un código detrás de la solución)?

El triángulo debe ser como en la imagen de abajo para representar la dirección de clasificación Ascending/Descendingjunto con un botón de clasificación en un control de gráfico:

ingrese la descripción de la imagen aquí

EDITAR: La solución, gracias a SpeziFish :

Ascendente:

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

Descendente:

<Polygon Points="8,0 0,5, 8,10" Stroke="Black" Fill="Black" />
sll
fuente
1
¿Dibujar un triángulo con un rectángulo? Podrías mirar en su Pathlugar. Busque aquí un ejemplo básico.
erikH
@erikH: lo siento, el requisito principal es solo XAML
sll
¿Puedo preguntar por qué la pregunta fue abatida?
sll

Respuestas:

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

Consulte API o ejemplo .

SpeziFish
fuente
lo siento, el requisito principal es solo XAML, por lo que Polygon está bien. ¿Cómo hacerlo más pequeño 10 veces?
sll
1
Divide los números entre diez. Los números son fácilmente las coordenadas de píxeles (x, y) de las esquinas.
SpeziFish
Sin embargo, ¿cómo se coloca y gira? Quiero decir, quiero dibujar un triángulo que se colocará alrededor de un círculo (fuera de ese círculo) según la unión. ¿Algunas ideas?
John Demetriou
para escalar, puede agregar "Stretch = Fill", por lo que se escala para que se ajuste al contenedor principal, por ejemplo, Button.Content ..) Ok, lo acabo de ver en la respuesta de @LongZheng :)
dba
35

Quiero agregar estos a su colección:

ingrese la descripción de la imagen aquí

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

ingrese la descripción de la imagen aquí

    <Polygon Points="0,0 5,10, 10,0" Stroke="Black" Fill="Black" />
Vladimir Trifonov
fuente
25

Usando caminos

<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
fuente
Sin embargo, ¿cómo se coloca y gira? Quiero decir, quiero dibujar un triángulo que se colocará alrededor de un círculo (fuera de ese círculo) según la unión. ¿Algunas ideas?
John Demetriou
LayoutTransform podría ayudarte. Quizás la mejor opción sea crear un control de usuario con una propiedad de dependencia de 'Dirección' para que pueda colocarlo con la frecuencia que necesite sin reescribir el xaml
dba