Pregunta

Tengo un error extraño con un objeto PathGeometry simple y parece que no puedo resolverlo. Agradecería que alguien pudiera explicarme por qué esto no funciona.

Aquí hay un ejemplo de una ruta de trabajo, que dibuja un pequeño triángulo:

<Path Data="M 8,4 L 12,12 4,12 8,4 Z" Stroke="White" />

Aquí hay un ejemplo de una ruta que no parece funcionar para mí:

<Path Stroke="White">
    <Path.Data>
        <PathGeometry Figures="M 8,4 L 12,12 4,12 8,4 Z" />
    </Path.Data>
</Path>

La cadena en las propiedades de datos y figuras es idéntica, pero el último ejemplo da como resultado la excepción:

Valor de atributo no válido M 8,4 L 12,12 4,12 8,4 z Para cifras de propiedades.

Lo que me gustaría hacer, en última instancia, es poner la PathGeometry en un recursos de recursos y hacer referencia a una {staticresource} para que pueda reutilizar mis formas.

Editar:

Mi solución fue en lugar de tratar de hacer referencia a una PathGeometry con un staticresource, para hacer referencia a un recurso de cadena.

<sys:String x:Key="TriangleShape">M 8,4 L 12,12 4,12 8,4 Z</sys:String>
...
<Path Data={StaticResource TriangleShape}" />
¿Fue útil?

Solución

Por lo que puedo decir, la sintaxis de marcado de ruta, según lo utilizado por Ruta. Data, no es compatible con PathGeometry. los Pathgeometry.figuras La propiedad debe ser una colección de objetos de PathFigure.

Para especificar la forma anterior de esta manera, podría hacer algo como lo siguiente:

    <Path Stroke="White">
        <Path.Data>
            <PathGeometry>
                <PathGeometry.Figures>
                    <PathFigure StartPoint="8,4">
                        <PathFigure.Segments>
                            <LineSegment Point="12,12" />
                            <LineSegment Point="4,12" />
                            <LineSegment Point="8,4" />
                        </PathFigure.Segments>
                    </PathFigure>
                </PathGeometry.Figures>
            </PathGeometry> 
        </Path.Data>
    </Path>

Descargo de responsabilidad: No he probado esto en WP7, solo en Silverlight en mi PC.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top