我想知道如何用数组或列表等方式保存笔画。因为我想用索引变量制作inkcanvas的页面。
这样用户就可以使用索引自由移动页面。
例如,我想保存到目前为止绘制的所有墨迹(不是图像文件),只要我单击下一页按钮。
但是现在我找不到如何保存笔画并打开保存的笔画
我想在没有 Filesavepicker 的情况下保存文件名和位置,以保持文件名和位置固定。这可能吗?
我想知道如何用数组或列表等方式保存笔画。因为我想用索引变量制作inkcanvas的页面。
这样用户就可以使用索引自由移动页面。
例如,我想保存到目前为止绘制的所有墨迹(不是图像文件),只要我单击下一页按钮。
但是现在我找不到如何保存笔画并打开保存的笔画
我想在没有 Filesavepicker 的情况下保存文件名和位置,以保持文件名和位置固定。这可能吗?
我真的很想知道如何使用数组或列表等方式保存笔画。
您可以InkStroke
通过方法获取只读列表 InkStrokeContainer.GetStrokes
并以您想要的方式保存此集合。例如:
IReadOnlyList<InkStroke> strokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes();
更多详细信息请参考存储和检索 Windows Ink 笔画数据。
如果您的目的是加载,您可以考虑将笔画保存到文件中,或者选择所有笔画然后复制到剪贴板进行粘贴。例如:
private void btnreadd_Click(object sender, RoutedEventArgs e)
{
if (inkCanvas.InkPresenter.StrokeContainer.CanPasteFromClipboard())
{
inkCanvas.InkPresenter.StrokeContainer.PasteFromClipboard(new Windows.Foundation.Point(50, 50));
}
}
private void btncollect_Click(object sender, RoutedEventArgs e)
{
IReadOnlyList<InkStroke> strokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes();
foreach (var stroke in strokes)
{
stroke.Selected = true;
}
inkCanvas.InkPresenter.StrokeContainer.CopySelectedToClipboard();
}