获取并添加Inkstrokes

时间:2016-08-23 17:23:36

标签: c# xaml types uwp inkcanvas

我正在尝试自己创建一个笔记应用。我希望应用程序有几个页面,每个页面都有自己的'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);

我怀疑我的问题是由于数据类型不匹配造成的。如果有人回答这个问题可以解释一下可能的解决方案及其工作原理,那将会非常有帮助。

事先,非常感谢你的网络陌生人。

1 个答案:

答案 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