首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何存储PathGeometry?

如何存储PathGeometry?
EN

Stack Overflow用户
提问于 2012-05-30 14:49:01
回答 3查看 1.5K关注 0票数 0

我有几个PathGeometry-s,它们显示位置之间的线。我想保存这些行。我无法将其序列化为XML,也不知道如何存储这些行。有机会做这件事吗?

编辑我在代码背后有PathGeometry-s,而不是XAML。当我尝试使用XMLWriter类来存储这些类时,它给出异常"...类无法恢复,因为它们不是已知的类型“

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-30 15:15:33

如果已经将PathGeometry实例化为对象,可以尝试使用XAMLWriter将其序列化为MSDN

例如:

代码语言:javascript
复制
        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;
票数 3
EN

Stack Overflow用户

发布于 2012-05-30 15:37:06

您可以序列化集合中的PathGeomety-s字符串表示形式,当您想要还原它时,可以使用这个很好的解决方案来还原

http://stringtopathgeometry.codeplex.com

有一个返回PathGeometry的方法StringToPathConvertor.Convert(字符串路径)。

票数 1
EN

Stack Overflow用户

发布于 2012-05-30 15:06:43

为什么不能将其存储为xml?那<Line x1="0" y1="0" x2="100" y2="100"/>呢?也许你可以举个小例子?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10811272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档