private async void GenerateCheckedPressedStateImage()
        {
            if (DesignMode.DesignModeEnabled)
            {
                return;
            }

            var wb = new WriteableBitmap(1, 1);

            if (CheckedStateImageSource != null)
            {
                await wb.FromBitmapImage((BitmapImage)CheckedStateImageSource);
            }
            else if (NormalStateImageSource != null)
            {
                await wb.FromBitmapImage((BitmapImage)NormalStateImageSource);
            }

            await wb.WaitForLoadedAsync();
            wb.Lighten(GeneratedCheckedPressedStateLightenAmount);
            _checkedPressedStateImage.Source = wb;
        } 
        private async void GenerateCheckedHoverStateImage()
        {
            var wb = new WriteableBitmap(1, 1);

            if (CheckedStateImageSource != null)
            {
                await wb.FromBitmapImage((BitmapImage)CheckedStateImageSource);
            }
            else if (NormalStateImageSource != null)
            {
                await wb.FromBitmapImage((BitmapImage)NormalStateImageSource);
            }

            await wb.WaitForLoaded();
            wb.Lighten(GeneratedCheckedHoverStateLightenAmount);
            _checkedHoverStateImage.Source = wb;
        } 
        private async void GenerateHoverStateImage()
        {
            if (DesignMode.DesignModeEnabled)
            {
                return;
            }

            var wb = new WriteableBitmap(1, 1);
            await wb.FromBitmapImage((BitmapImage)NormalStateImageSource);
            await wb.WaitForLoadedAsync();
            wb.Lighten(GeneratedHoverStateLightenAmount);
            _hoverStateImage.Source = wb;
        } 
 private async void GeneratePressedStateImage()
 {
     var wb = new WriteableBitmap(1, 1);
     await wb.FromBitmapImage((BitmapImage)NormalStateImageSource);
     await wb.WaitForLoaded();
     wb.Lighten(GeneratedPressedStateLightenAmount);
     _pressedStateImage.Source = wb;
 }