0

場所の間に線を表示しているPathGeometryがいくつかあります。これらの行を保存したいと思います。XMLにシリアル化できず、これらの行を格納する方法がわかりません。それをする機会はありますか?

[編集]XAMLではなく、コードビハインドにPathGeometry-sがあります。XMLWriterクラスを使用してこれらを保存しようとすると、「...既知の型として知られていないため、クラスを復元​​できませんでした」という例外が発生します。

4

3 に答える 3

3

PathGeometryがすでにオブジェクトとしてインスタンス化されている場合は、XAMLWriterを使用してMSDNをシリアル化してみてください。

例えば

        var pathgeo = new PathGeometry();
        pathgeo.AddGeometry(new PathGeometry(new PathFigureCollection() { new PathFigure(new Point(10, 50), new List<PathSegment>() { new LineSegment(new Point(200, 70), true) }, false) }));

        // Save
        var s = XamlWriter.Save(pathgeo);

        byte[] byteArray = Encoding.ASCII.GetBytes(s);
        var stream = new MemoryStream(byteArray);

        // Load
        var ob = XamlReader.Load(stream);

        // test beeing a System.Windows.Shapes.Path
        test.Data = ob as PathGeometry;
于 2012-05-30T07:15:33.043 に答える
1

コレクション内の-s文字列表現をシリアル化できPathGeometyます。復元する場合は、この優れたソリューションを使用して復元します。

http://stringtopathgeometry.codeplex.com

PathGeometryを返すメソッドStringToPathConvertor.Convert(string path)があります。

于 2012-05-30T07:37:06.400 に答える
0

なぜそれをxmlに保存できなかったのですか?どう<Line x1="0" y1="0" x2="100" y2="100"/>ですか?多分あなたは少し例をあげることができますか?

于 2012-05-30T07:06:42.897 に答える