我试图在WPF中序列化一个墨水画布。因此,我使用StrokeCollection.Save将笔画保存到MemoryStream。但是,当我试图将流加载到InkCanvas中时,我会得到一个ArgumentException,说明“ISF数据的长度必须大于零”。
下面是代码示例:
using (MemoryStream ms = new MemoryStream())
{
inkcanvas.Strokes.Save(ms);
inkcanvas.Strokes = new System.Windows.Ink.StrokeCollection(ms);
}我在这里错过了什么?
发布于 2015-02-26 13:24:01
您检查过您的流的Position吗?
我认为,在保存了它的中风后,它将指向它的结束。
尝试将位置重置为第一个字符,如下所示:
using (MemoryStream ms = new MemoryStream())
{
inkcanvas.Strokes.Save(ms);
ms.Position = 0;
inkcanvas.Strokes = new System.Windows.Ink.StrokeCollection(ms);
}https://stackoverflow.com/questions/28743593
复制相似问题