Silverlight 2 Controls Review - CheckBox, RadioButton

CheckBox는 다중선택을 할 수 있는 컨트롤이고, RadioButton은 단일 선택을 할 수 있는 컨트롤입니다.

두 컨트롤 모두 옵션 및 항목리스트에서 무엇인가를 선택할 때 자주 사용하는 컨트롤입니다.

1.x 버전에서는 지원되지 않다가 Silverlight 2 beta 1 부터 포함된 컨트롤입니다. 프로그램에서 Button, TextBox 컨트롤등과 가장 많이 사용되는 컨트롤중에 하나입니다.

다음 데모는 CheckBox, RadioButton 컨트롤을 이용하여 특정 항목을 선택 하는 프로그램입니다.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지


Xaml Code

<UserControl x:Class="ControlTest3.Page"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    Width="400" Height="300">

    <Grid x:Name="LayoutRoot" Background="White">

        <CheckBox Height="26" HorizontalAlignment="Left" Margin="42,37,0,0"

                  VerticalAlignment="Top" Width="108" Content="사과" x:Name="chkApple"/>

        <CheckBox Height="26" HorizontalAlignment="Left" Margin="42,64,0,0"

                  VerticalAlignment="Top" Width="115" Content="" x:Name="chkEmbryo"/>

        <CheckBox Height="26" HorizontalAlignment="Left" Margin="42,90,0,0"

                  VerticalAlignment="Top" Width="115" Content="수박" x:Name="chkWatermelon"/>

       

        <RadioButton Height="23" HorizontalAlignment="Right" Margin="0,37,28,0"

                     VerticalAlignment="Top" Width="98" Content="서울" x:Name="rdoSeoul" />

        <RadioButton Height="23" HorizontalAlignment="Right" Margin="0,90,29,0"

                     VerticalAlignment="Top" Width="98" Content="대구" x:Name="rdoDaegu"/>

        <RadioButton Height="23" HorizontalAlignment="Right" Margin="0,62,29,0"

                     VerticalAlignment="Top" Width="98" Content="부산" x:Name="rdoBusan"/>

       

        <TextBlock HorizontalAlignment="Left" Margin="34,141,0,23" Width="85"

                   Text="" TextWrapping="Wrap" x:Name="tbChkResult"/>

        <TextBlock HorizontalAlignment="Right" Margin="0,141,39,23" Width="85"

                   Text="" TextWrapping="Wrap" x:Name="tbRdoResult"/>

       

        <Button Margin="157,0,161,27" Content="choice" VerticalAlignment="Bottom"

                Height="43" x:Name="btnResult" Click="btnResult_Click"/>

 

    </Grid>

   

</UserControl>

 

소스코드는 Silverlight 2.0 RC0 기준입니다.


C# Code

using System.Windows;

using System.Windows.Controls;

 

namespace ControlTest3

{

    public partial class Page : UserControl

    {

        public Page()

        {

            InitializeComponent();

        }

 

        private void btnResult_Click(object sender, RoutedEventArgs e)

        {

            string chkResult = string.Empty;

         

            if (chkApple.IsChecked == true)      { chkResult = "사과 "; }

            if (chkEmbryo.IsChecked == true)     { chkResult = chkResult + " "; }

            if (chkWatermelon.IsChecked == true) { chkResult = chkResult + "수박"; }

           

            tbChkResult.Text = chkResult;

 

            string rdoResult = string.Empty;

 

            if (rdoSeoul.IsChecked == true)      { rdoResult = "서울"; }

            else if (rdoBusan.IsChecked == true) { rdoResult = "부산"; }

            else if(rdoDaegu.IsChecked == true)  { rdoResult = "대구"; }

 

            tbRdoResult.Text = rdoResult;

        }

    }

}

 

데모는 Silverlight 2.0 RC0을 기준으로 작성되었으며 이전버전의 런타임에서는 보이지 않거나 다르게 보일 수 있습니다.