示例#1
0
        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);
                }
            });
        }
示例#2
0
 private ColourPoint GenerateNewColourPoint(double time = 0, IEnumerable <SpecialColour> colours = null, ColourPointMode mode = ColourPointMode.Normal)
 {
     return(new ColourPoint(time, colours ?? new SpecialColour[0], mode, this));
 }