我正在尝试自己创建一个笔记应用。我希望应用程序有几个页面,每个页面都有自己的'InkCanvas'。我已经设法了,但每当我离开页面时,'InkStrokes'的'collection / list'就会被清除。
我的解决方案是创建一个'InkStrokes'列表。将该列表保存在pages.xaml.cs中,然后在再次导航页面时将该列表加载到“InkCanvas”中。
在这里,我试图首先获取笔画,然后将它们添加回来:
var strokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes();
foreach (var stroke in strokes)
{
inkCanvas.InkPresenter.StrokeContainer.AddStroke(stroke);
}
我也没试过这个尝试过:
private IEnumerable<InkStroke> pageStrokes;
pageStrokes = new IEnumerable<InkStroke> //Line continues
inkCanvas.InkPresenter.StrokeContainer.GetStrokes();
inkCanvas.InkPresenter.StrokeContainer.AddStrokes(pageStrokes);
我怀疑我的问题是由于数据类型不匹配造成的。如果有人回答这个问题可以解释一下可能的解决方案及其工作原理,那将会非常有帮助。
事先,非常感谢你的网络陌生人。
答案 0 :(得分:1)
我的解决方案是创建一个'InkStrokes'列表。将该列表保存在pages.xaml.cs中,然后在再次导航页面时将该列表加载到“InkCanvas”中。
您可以保存SELECT * FROM roomcalendar where day between '2016-08-25' and '2016-08-28' and NOT avaroom=0
,而不是保存avaroom = 0
。我做了一个基本的演示并将StrokeContainer
保存到应用程序资源并将其加载到Strokes
并且它可以正常工作。
MainPage.xaml.cs中:
StrokeContainer
这是我的演示项目:SaveStrokeSample。