public SettingsItem(TypeItemsGrid typeGrid)
        {
            this.gridPosition      = new Grid();
            this.HorizontalOptions = LayoutOptions.FillAndExpand;
            this.VerticalOptions   = LayoutOptions.FillAndExpand;
            this.Children.Add(gridPosition);

            gridPosition.Margin          = new Thickness(15, 10, 15, 0);
            gridPosition.ColumnSpacing   = 0;
            gridPosition.RowSpacing      = 6;
            gridPosition.VerticalOptions = LayoutOptions.FillAndExpand;
            CrearGrid(typeGrid);
        }
        /*
         * public async void OnClickItem(SettingsItem item)
         * {
         *
         *              Color firstColor = item.BackgroundColor;
         *
         *              Task.WaitAll();
         *
         *              await Task.WhenAll(
         *                              item.ColorTo(item.BackgroundColor, Color.FromRgb(200,200,200), c => item.BackgroundColor = c, 80));
         *
         *              await Task.WhenAll(
         *                              item.ColorTo(item.BackgroundColor, firstColor, c => item.BackgroundColor = c, 80));
         *
         * }
         */

        private void CrearGrid(TypeItemsGrid typeGrid)
        {
            switch (typeGrid)
            {
            case TypeItemsGrid.Slider:

                gridPosition.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(0.15, GridUnitType.Auto)
                });
                gridPosition.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(0.22, GridUnitType.Auto)
                });
                gridPosition.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(0.30, GridUnitType.Auto)
                });
                gridPosition.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(0.85, GridUnitType.Star)
                });
                gridPosition.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(0.15, GridUnitType.Star)
                });
                gridPosition.Children.Add(new SettingsTitleItem()
                {
                    Text = "Title Text"
                }, 0, 0);
                gridPosition.Children.Add(new SettingsDetailItem()
                {
                    Text = "Detail Text"
                }, 0, 1);
                gridPosition.Children.Add(new Label()
                {
                    Text = "Value Slider", TextColor = Color.FromRgb(33, 150, 244), VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, HorizontalTextAlignment = TextAlignment.Center, VerticalTextAlignment = TextAlignment.Center
                }, 1, 2);
                break;

            case TypeItemsGrid.Switch:

                gridPosition.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(0.1, GridUnitType.Auto)
                });
                gridPosition.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(0.7, GridUnitType.Star)
                });
                gridPosition.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(0.3, GridUnitType.Star)
                });
                gridPosition.Children.Add(new SettingsTitleItem()
                {
                    Text = "Title Text"
                }, 0, 0);
                break;

            case TypeItemsGrid.Entry:

                btnEntryType           = new Button();
                btnEntryType.Text      = "Update";
                btnEntryType.IsVisible = false;

                gridPosition.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(0.2, GridUnitType.Auto)
                });
                gridPosition.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(0.3, GridUnitType.Star)
                });
                gridPosition.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(0.65, GridUnitType.Star)
                });
                gridPosition.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(0.35, GridUnitType.Star)
                });
                gridPosition.Children.Add(new SettingsTitleItem()
                {
                    Text = "Title Text"
                }, 0, 0);
                gridPosition.Children.Add(btnEntryType, 1, 1);
                //Grid.SetRowSpan(btnEntryType, 2)
                break;

            case TypeItemsGrid.Button:
                gridPosition.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(1, GridUnitType.Star)
                });
                gridPosition.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(0.5, GridUnitType.Star)
                });
                gridPosition.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(0.3, GridUnitType.Star)
                });
                gridPosition.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(0.2, GridUnitType.Star)
                });
                gridPosition.Children.Add(new SettingsTitleItem()
                {
                    Text = "Title Text"
                }, 0, 0);
                gridPosition.Children.Add(new Label()
                {
                    Text = "Option selected", TextColor = Color.FromRgb(33, 150, 244), VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, HorizontalTextAlignment = TextAlignment.Center, VerticalTextAlignment = TextAlignment.Center
                }, 2, 0);
                break;
            }
        }