/// <summary>
        /// Handles a point color changing.
        /// </summary>
        /// <param name="sender">Sender.</param>
        partial void PointColorChanged(Foundation.NSObject sender)
        {
            // Save undo point
            DesignSurface.SaveUndoPoint();

            // Get color components
            nfloat red, green, blue, alpha;

            PointColor.Color.GetRgba(out red, out green, out blue, out alpha);

            // Set new color and inform caller
            SelectedGradient.SelectedHandle.Color = new SKColor((byte)(red * 255),
                                                                (byte)(green * 255),
                                                                (byte)(blue * 255),
                                                                (byte)(OpacitySlider.IntValue));

            // Update UI
            DesignPreview.RefreshView();
            DesignBar.RefreshView();
            RaiseGradientModified(SelectedGradient);
            RaiseShapeModified();
        }
        /// <summary>
        /// Handles the linked color changing.
        /// </summary>
        /// <param name="sender">Sender.</param>
        partial void LinkedColorChanged(Foundation.NSObject sender)
        {
            // Save undo point
            DesignSurface.SaveUndoPoint();

            // Take action based on the item selected
            if (LinkedColorDropdown.IndexOfSelectedItem == 0)
            {
                // None selected
                SelectedGradient.SelectedHandle.LinkedColor = null;
            }
            else
            {
                // Base this color off of another color
                SelectedGradient.SelectedHandle.LinkedColor = Portfolio.Colors[(int)LinkedColorDropdown.IndexOfSelectedItem - 1];
            }

            // Update UI
            DesignPreview.RefreshView();
            DesignBar.RefreshView();
            ShowCurrentColor();
            RaiseShapeModified();
        }