C# 重做撤消绘图画布WP7

C# 重做撤消绘图画布WP7,c#,windows-phone-7,C#,Windows Phone 7,在绘图画布上做一些工作,我想实现一个重做和撤消按钮。我试着用一个堆栈和一个数组,将最后一个点放在数组中,然后回调或删除它,但我似乎无法让它工作。有关于这个的文件吗?提前谢谢 下面的评论就是我要说的 this.ContentPanelCanvas.Children.Add(line); oldPoint = currentPoint; Point[] redoTest = { oldPoint }; 以上是我试图存储的旧点 后来为了

在绘图画布上做一些工作,我想实现一个重做和撤消按钮。我试着用一个堆栈和一个数组,将最后一个点放在数组中,然后回调或删除它,但我似乎无法让它工作。有关于这个的文件吗?提前谢谢

下面的评论就是我要说的

this.ContentPanelCanvas.Children.Add(line);
                oldPoint = currentPoint;
                Point[] redoTest = { oldPoint };
以上是我试图存储的旧点

后来为了回忆起这一点并撤销它,我尝试了以下方法:

private void Redo_Click(object sender, EventArgs e)
        {
            ContentPanelCanvas.Children.Remove(redoTest);
        }

但这给了我一个错误。怎么了

您可能会发现以下示例满足您的需要,它包括一个名为undoLast的方法,该方法将使用绘制的最后一条线:-

将以下行添加到新的撤消按钮单击事件处理程序:-

myBoard.undoLast(SimzzDev.DrawingBoard.PenMode.pen);

你的方法有什么不特别有效?我有画在画布上的oldPoint和currentPoint。我创建了一个Point[]重做数组,其中我将“oldPoint”放入数组的第一个索引中。但是在我名为Redo的函数中,我尝试调用该点数组,但我不确定如何删除画布上的索引点。在这个链接上看不到。这是一个擦除函数。我有,好的,谢谢,我明白了。但这意味着我必须更改90%的代码:/I我使用的是画布。将其更改为Inkpresenter会中断所有功能