如何存储路径几何
本文关键字:路径 存储 何存储 | 更新日期: 2023-09-27 18:35:38
我有几个PathGeometry-s,它们显示了地方之间的线条。我想保存这些行。我无法将其序列化为 XML,也不知道如何存储这些行。有机会吗?
[编辑] 我在代码隐藏处有 PathGeometry-s,而不是在 XAML 中。当我尝试使用 XMLWriter 类来存储这些时,它会给出异常"...类无法恢复,因为它们不被称为已知类型"
如果您已经将 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;
您可以在集合中序列化PathGeomety
-s 字符串表示形式,当您想要恢复它时,请使用这个出色的解决方案来恢复
http://stringtopathgeometry.codeplex.com
有方法StringToPathConvertor.Convert(string path)返回PathGeometry。
为什么不能将其存储到 xml?<Line x1="0" y1="0" x2="100" y2="100"/>
呢?也许你可以举个小例子?