public ColourPoint(double time, IEnumerable <SpecialColour> colourSequence, ColourPointMode mode, ComboColourProject parentProject) { Time = time; ColourSequence = new ObservableCollection <SpecialColour>(colourSequence); Mode = mode; ParentProject = parentProject; AddCommand = new CommandImplementation(sender => { var cm = GetContextMenu(ParentProject); cm.PlacementTarget = sender as Button; cm.IsOpen = true; }); RemoveCommand = new CommandImplementation(item => { if (ColourSequence.Count == 0) { return; } if (item == null) { ColourSequence.RemoveAt(ColourSequence.Count - 1); } else { ColourSequence.Remove(item as SpecialColour); } }); }
private ColourPoint GenerateNewColourPoint(double time = 0, IEnumerable <SpecialColour> colours = null, ColourPointMode mode = ColourPointMode.Normal) { return(new ColourPoint(time, colours ?? new SpecialColour[0], mode, this)); }