[Xamarin.Forms] Primer vistazo al RadioButton

Introducción

En Xamarin.Forms 4.6 llega el esperado RadioButton. En este artículo vamos a conocer las características fundamentales del nuevo control.

RadioButton

RadioButton es un tipo de botón que permite seleccionar una opción de un conjunto. Cada opción está representada por un RadioButton y solo se puede seleccionar una opción del grupo.

RadioButton llega en fase experimental lo que significa que para poder utilizarlo se necesita establecer el flag RadioButton_Experimental para usar el control.

Veamos un ejemplo básico:

<RadioButton
     IsChecked="True"
     Text="Red"
     TextColor="Red"/>

Las propiedades básicas de RadioButton son:

  • IsChecked: Define si RadioButton está seleccionado o no. El valor por defecto es false.
  • GroupName: Define el nombre del grupo que indica qué RadioButtons se excluyen mutuamente. El valor por defecto es null.

Ambas propiedades son BindableProperties, lo que significa que soportan enlaces de datos.

Veamos un ejemplo más complejo:

<StackLayout>
     <RadioButton
          x:Name="RedRadioButton"
          GroupName="Colors"
          IsChecked="True"
          Text="Red"
          TextColor="Red"
          CheckedChanged="OnRedRadioButtonCheckedChanged"
          Clicked="OnRedRadioButtonClicked"/>
     <RadioButton 
          x:Name="BlueRadioButton"
          GroupName="Colors"
          Text="Blue"
          TextColor="Blue" 
          CheckedChanged="OnBlueRadioButtonCheckedChanged"
          Clicked="OnBlueRadioButtonClicked"/>
     <RadioButton 
          x:Name="GreenRadioButton"
          GroupName="Colors"
          Text="Green"
          TextColor="Green" 
          CheckedChanged="OnGreenRadioButtonCheckedChanged"
          Clicked="OnGreenRadioButtonClicked"/>
</StackLayout>

NOTA: Los RadioButton sin la propiedad GroupName establecida pero definidos dentro del mismo contenedor estarán agrupados de forma implícita.

Los tres RadioButtons están agrupados dentro del mismo grupo (al seleccionar uno de ellos, vamos a deseleccionar el resto). Además, en el control tenemos definidos varios eventos. El evento CheckedChanged se desencadena cuando cambia la propiedad IsChecked. CheckedChangedEventArgs  tiene una única propiedad Value que indica el valor de IsChecked.

void OnRedRadioButtonCheckedChanged(object sender, CheckedChangedEventArgs e)
{

}

Por otro lado, contamos con el evento Clicked que se desencadena cada vez que se pulsa un RadioButton.

Además el control RadioButton define otras propiedades como (no son todas las propiedades disponibles, solo las principales):

  • Text: El texto a mostrar.
  • TextColor: Color del texto.
  • Command: Define un comando que se ejecuta al seleccionar el RadioButton.
  • CommandParameter: Parámetro asociado al comando.

Puedes encontrar el ejemplo utilizado en el artículo en GitHub:Ver GitHub

¿Qué te parece el control RadioButton?. Si tienes alguna duda o pregunta recuerda que puedes añadir comentarios al artículo.

Más información

Deja un comentario