public void Setup()
 {
     m_Converter = new DoubleToIntegerConverter();
 }
        public void Setup()
        {
            var converter = new DoubleToIntegerConverter();

            m_Converter = new GrayscaleConverter(converter);
        }
        void SetSlidersAndBindings()
        {
            // Don't handle ValueChange events from Sliders!
            ignoreSliderValueChanges = true;

            double sliderMax = 1;

            string[]        format         = null;
            IValueConverter valueConverter = null;

            // Set local variables for color mode.
            switch (currentColorMode)
            {
            case ColorMode.RgbHex:
                sliderMax      = 255;
                format         = rgbHexFormat;
                valueConverter = new DoubleToIntegerConverter();
                break;

            case ColorMode.RgbFloat:
                format = rgbFloatFormat;
                break;

            case ColorMode.Hsl:
                format = hslFormat;
                break;
            }

            // Bind the labels to the sliders.
            for (int i = 0; i < 3; i++)
            {
                sliders[i].Maximum       = sliderMax;
                labels[i].BindingContext = sliders[i];
                labels[i].SetBinding(Label.TextProperty,
                                     new Binding("Value", BindingMode.OneWay, valueConverter, null, format[i]));
            }

            // Now set the slider values.
            Color currentColor = this.currentColor;

            switch (currentColorMode)
            {
            case ColorMode.RgbHex:
                sliders[0].Value = 255 * currentColor.R;
                sliders[1].Value = 255 * currentColor.G;
                sliders[2].Value = 255 * currentColor.B;
                break;

            case ColorMode.RgbFloat:
                sliders[0].Value = currentColor.R;
                sliders[1].Value = currentColor.G;
                sliders[2].Value = currentColor.B;
                break;

            case ColorMode.Hsl:
                sliders[0].Value = currentColor.Hue;
                sliders[1].Value = currentColor.Saturation;
                sliders[2].Value = currentColor.Luminosity;
                break;
            }

            // Resume handling ValueChange events.
            ignoreSliderValueChanges = false;

            // Sync up the colors and sliders.
            SetColorFromSliders();
        }