我有几个PathGeometry-s,它们显示位置之间的线。我想保存这些行。我无法将其序列化为XML,也不知道如何存储这些行。有机会做这件事吗?
编辑我在代码背后有PathGeometry-s,而不是XAML。当我尝试使用XMLWriter类来存储这些类时,它给出异常"...类无法恢复,因为它们不是已知的类型“
发布于 2012-05-30 15:15:33
如果已经将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-30 15:37:06
您可以序列化集合中的PathGeomety-s字符串表示形式,当您想要还原它时,可以使用这个很好的解决方案来还原
http://stringtopathgeometry.codeplex.com
有一个返回PathGeometry的方法StringToPathConvertor.Convert(字符串路径)。
发布于 2012-05-30 15:06:43
为什么不能将其存储为xml?那<Line x1="0" y1="0" x2="100" y2="100"/>呢?也许你可以举个小例子?
https://stackoverflow.com/questions/10811272
复制相似问题