2012-05-14 70 views
0

在繪圖畫布上做了一些工作,我想實現一個重做和撤消按鈕。我嘗試了一個堆棧和一個數組,將最後一點繪製到數組中,然後調用它或刪除它,但我似乎無法讓它工作。有關於此的任何文檔?提前致謝。重做撤消繪圖帆布WP7

與波紋管在這裏評論是什麼我談論

this.ContentPanelCanvas.Children.Add(line); 
       oldPoint = currentPoint; 
       Point[] redoTest = { oldPoint }; 

以上就是我試圖存儲Oldpoint ..

後來回憶這一點,並撤消它我嘗試這樣做:

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

雖然這給了我一個錯誤。它出什麼問題了?

+0

什麼沒有特別關於你的方法工作? –

+0

那麼我有畫在畫布上的oldPoint和currentPoint。我創建了一個Point []重做數組,其中我將「oldPoint」放入數組的第一個索引中。但是在我的稱爲重做的函數中,我嘗試調用Point數組,但我不確定如何只刪除畫布上的索引點。 – Cubatown

回答

1

您可能會發現下面的示例滿足您的需求,它包括一個名爲undoLast方法,這將EARSE繪製的最後一行: -

http://www.windowsphonegeek.com/tips/WP7-DrawingBoard-sample-Drawing--Ink--made-easy

以下行添加到一個新的撤銷按鈕單擊事件處理程序: -

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

沒有看到這個鏈接。它有一個擦除功能。我有 – Cubatown

+0

好吧謝謝我看到如何工作。但是這意味着我必須更改我的代碼的90%:/ – Cubatown

+1

我正在使用Canvas。將其更改爲Inkpresenter會中斷所有功能 – Cubatown