void BtnAddRect_Click(object sender, RoutedEventArgs e) { var newRect = new NamedRectangle(); NamedRects.Add(newRect); CurrentlySelectedNamedRect = newRect; FixDuplicateNames(); RefreshCanvasRectangle(); }
void BtnRemoveRect_Click(object sender, RoutedEventArgs e) { if (NamedRects.Contains(CurrentlySelectedNamedRect)) { var index = NamedRects.IndexOf(CurrentlySelectedNamedRect); CurrentlySelectedNamedRect = null; NamedRects.RemoveAt(index); RefreshCanvasRectangle(); } }
void FixDuplicateNames() { foreach (NamedRectangle nrOriginal in NamedRects) { var i = 1; foreach (var nr in NamedRects.Where(r => r.Name == nrOriginal.Name && r != nrOriginal)) { nr.Name += "_" + i++; } } NamedRects[0] = NamedRects[0]; }