private void ColorPickProviderCallback(ProviderCallbackType providerCallbackType, string message)
        {
            switch (providerCallbackType)
            {
            case ProviderCallbackType.ShowControl:
                ShowControl = _colorPickProvider.ShowControl;
                _providerCallback.Invoke(ProviderCallbackType.ShowControl, string.Empty);
                break;

            case ProviderCallbackType.End:
                if (_colorPickProvider.Result)
                {
                    var color = _colorPickProvider.ResultColor;
                    _gradientModel = GetGradientModel(_gradientPickView);
                    _gradientModel.ChangeColor(_gradientId, color);
                }

                _gradientPickView = new GradientPickView(_gradientModel, GradientPickCallback);
                ShowControl       = _gradientPickView;
                _providerCallback.Invoke(ProviderCallbackType.ShowControl, string.Empty);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(providerCallbackType), providerCallbackType, null);
            }
        }
 public GradientPickProvider(Action <ProviderCallbackType, string> providerCallback, GradientModel gradientModel,
                             double gradientValue)
 {
     _providerCallback = providerCallback;
     _gradientModel    = gradientModel.Copy();
     _gradientPickView = new GradientPickView(_gradientModel, gradientValue, GradientPickCallback);
     GradientMode      = GradientMode.Select;
 }
 public GradientPickProvider(Action <ProviderCallbackType, string> providerCallback, GradientModel gradientModel)
 {
     _providerCallback = providerCallback;
     _gradientModel    = gradientModel.Copy();
     _gradientPickView =
         new GradientPickView(_gradientModel, GradientPickCallback);
     GradientMode = GradientMode.Edit;
 }