私のアプリケーションで使用しているアイコンは非常にたくさんあります。Xamlを必要とする必要があります。長いPathGeometry "Figures"属性文字列をXML構文に変換します。
<PathGeometry x:Key="RunPathGeometry"
Figures="M56.11 46.17 69.2 33.09a25.29 25.29 0 1 0 4.41 27H85.16l.1 0q-.25.91-.57 1.8A36.32 36.32 0 1 1 77 25.3l8.92-8.92V46.17Z"
FillRule="NonZero"
/>
は今、これはうまく動作しますが、これらのアイコンの一部は長い間とても複雑で、属性の文字列です:私はこのように、属性構文で指定された数値を持つオブジェクトPathGeometryをでXAMLリソースディクショナリでそれらを持っています私は文字通り30,000列以上のテキストを持っています。
それは私にライン代わりの列のトンを与えるだろう理由だけであれば、私は非常に多くが、これらのプロパティの構文で表現していることを好むだろう。私は一緒に暮らすことができます(そして、確かに30,000以下の数になるでしょう...)
誰かが知っている単純な方法/コンバータはありますか? PathGeometryに1つのフォーマットで貼り付けて、別のフォーマットでそれを取得できる場所はどこですか?私はそうXamlReader/XamlWriterで1を自分で書くことができますが、私はむしろ車輪の再発明し、誰かがすでに持っている場合は、これを行うには、すべてのサイクルを燃やしていないだろうように見えるのドキュメントをスキミング
...
を編集 - - 誰かが尋ねて以来、 "Property"構文が意味するのは、数字が属性ではなく閉じたXMLタグで表現されるところです。以下、この例のようなもの(それは、単純な三角形例えば、実際のですが、より複雑な形状が同様に表現することができる。)
<Path Stroke="Black" StrokeThickness="1">
<Path.Data>
<PathGeometry>
<PathGeometry.Figures>
<PathFigureCollection>
<PathFigure IsClosed="True" StartPoint="10,100">
<PathFigure.Segments>
<PathSegmentCollection>
<LineSegment Point="100,100" />
<LineSegment Point="100,50" />
</PathSegmentCollection>
</PathFigure.Segments>
</PathFigure>
</PathFigureCollection>
</PathGeometry.Figures>
</PathGeometry>
</Path.Data>
</Path>
「プロパティ構文」とは –
各内部要素は閉じたxmlタグで表されます。私はPathFigureCollectionタグを含むPathGeometryタグを持っています.PathFigureタグにはそれぞれPathSigment.Segmentsタグが含まれ、LineSegmentタグ(またはArcSegment、BezierSegmentなど)を含むPathSegmentCollectionTagが含まれています。冗長ですか?間違いなく – Joe