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

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 .


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

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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.