internal void AddWordAndCanvasList(IList <WordAndCanvas> wordAndCanvasList, bool memorizeForUndo) { // Clear selection first, if it exists m_Sel.Clear(); if (memorizeForUndo) { viewModel.UndoStack.MemorizeAdd(m_WordAndCanvasList); } // Add to View and ViewModel foreach (WordAndCanvas wac in wordAndCanvasList) { viewModel.AddWordPosition(wac.WordPosition); m_WordAndCanvasList.Add(wac); DrawingCanvas.Children.Add(wac.WordCanvas); } // Select all we've just restored m_Sel.Add(wordAndCanvasList); FinalRefreshAfterUpdate(); }