RadioButton in Silverlight


A RadioButton is usually used in a group with multiple options where one has to be selected.


The RadioButton tag represents a RadioButton control in XAML.




The Width and Height properties represent the width and the height of a RadioButton.  The Name property represents the name of the control, which is a unique identifier of a control. The Margin property tells the location of a RadioButton on the parent control. The HorizontalAlignment and VerticalAlignment properties are used to set horizontal and vertical alignments.


The Background and Foreground properties represent the background and foreground colors of  a RadioButton.


The following code snippet sets the name, height, and width of a RadioButton control.  The code also sets horizontal alignment to left and vertical alignment to top. 


<RadioButton Margin="10,10,0,0" GroupName="MCSites" Background="Yellow"

             Foreground="Blue" Content="C# Corner">


The RadioButton looks like following:

Figure 1. RadioButton

RadioButton Grouping

The GroupName property of a RadioButton assigns a RadioButton to a group. Only one RadioButton can be in the selected states at once and by selecting a new RadioButton unselects the previous selected RadioButton.

The following code assigns four RadioButton controls to a group called MCSites.

<RadioButton Margin="10,10,0,0" GroupName="MCSites" Background="Yellow"

             Foreground="Blue" Content="C# Corner">


<RadioButton Margin="10,50,0,0" GroupName="MCSites" Background="Yellow"

             Foreground="Orange" Content="VB.NET Heaven" >



<RadioButton Margin="10,90,0,0" GroupName="MCSites" Background="Yellow"

             Foreground="Green" Content="Longhorn Corner">


<RadioButton Margin="10,130,0,0" GroupName="MCSites" Background="Yellow"

             Foreground="Purple" Content="Mindcracker">


The output looks like Figure 2. If you select one RadioButton, the previous RadioButton will be unselected.

Figure 2

Adding a Checked Event Handler

RadioButton control has Checked event as default event and raised when you check a radio button. The following code snippet adds the event handler.  I also add x:Name property for all RadioButton controls.

<RadioButton Margin="10,10,0,0" GroupName="MCSites" Background="Yellow"

             Foreground="Blue" Content="C# Corner" Click="RadioButton_Click" x:Name="Button4"



I also add a TextBox to the page.


The IsChecked property of RadioButton represents of a RadioButton is checked or not. The following code snippet on a button click event handler finds the text of the selected RadioButton in a group.

The following checked event handler sets the Text property of the TextBox to the content of the RadioButton on the radio button click event handler.


private void RadioButton_Click(object sender, RoutedEventArgs e)


    if (Button1.IsChecked == true)

        TextBox1.Text = Button1.Content.ToString();


    else if (Button2.IsChecked == true)

        TextBox1.Text = Button2.Content.ToString();


    else if (Button3.IsChecked == true)

        TextBox1.Text = Button3.Content.ToString();



        TextBox1.Text = Button4.Content.ToString();



New RadioButton group looks like Figure 3.


Figure 3.


In this article, I discussed how to create and use a RadioButton control available in Silverlight 2.0.