private void AddNew() { if (CoverageCollection != null) { foreach (Coverage c in CoverageCollection) { c.ZIndex = highZIndex; } foreach (var ink in CoverageContainer.Children.OfType <InkCanvas>()) { Panel.SetZIndex(ink, (ink.DataContext as Coverage).ZIndex); } Coverage tempC = new Coverage(); tempC.Index = CoverageCollection.Count + 1; tempC.DrawAttributes.Color = currentBurshColor; tempC.BrushSize = BrushSize; CoverageCollection.Add(tempC); InkCanvas newInk = new InkCanvas(); newInk.DataContext = tempC; newInk.Style = inkcanvasStyle; CoverageContainer.Children.Add(newInk); newInk.ApplyTemplate(); SelectedCoverage = tempC; CurrentInkCanvas = newInk; } }