원문 : http://www.c-sharpcorner.com/UploadFile/mahesh/645/

여담...
어떻게 보면 별거 아닌 내용일지 모른다. 하지만 영어 공부, WPF 공부가 될 것으로 믿는다...


WPF CheckBox Control




XAML 과 C# 을 이용하여 WPF CheckBox 를 만들고 사용하는 방법을 알아보자.


Creating a CheckBox

CheckBox 엘리먼트는 XAML 에서 WPF CheckBox 를 나타낸다.
<CheckBox/>

Content 어트리뷰트는 CheckBox 의 텍스트를 나타낸다.
Name 어트리뷰트는 컨트롤의 이름을 나타낸다. 따라서 다른 컨트롤과 구분되는 유일한 값을 가져야 한다.
Foreground 어트리뷰트는 CheckBox 의 텍스트 전경색을 나타낸다.
FontFamily, FontStyle, FontWeight, FontSize, FontStretch 는 Font 와 관련된 어트리뷰트들 이다.

아래 코드 조각은 CheckBox 를 생성하고 CheckBox 컨트롤의 name, content, foreground, font 를 설정한다.

<CheckBox Name="McCheckBox" Foreground="Orange"
    Canvas.Left="20" Canvas.Top="10" Content="Check Me"
    FontFamily="Georgia" FontSize="20" FontWeight="Bold" >
</CheckBox>


출력되는 CheckBox 는 다음과 같다.




IsChecked 프로퍼티는 CheckBox 컨트롤의 상태를 나타낸다. IsThreeState 프로퍼티는 CheckBox 가 2가지 또는 3가지의 상태를 갖는지를 나타낸다. 여기서 말하는 3가지 상태는 checked, unchecked, indeterminate 를 말한다. 아래 코드 조각은 CheckBox 의 IsChecked 와 IsThreeState 프로프티를 설정하는 모습을 보여준다.

<CheckBox Name="McCheckBox" 
          Canvas.Left="10" Canvas.Top="10"
          Content="Check Me" 
          IsChecked="True" IsThreeState="True" >            
</CheckBox>


  checked 상태

 unchecked 상태

  indeterminate 상태  (넌 모냐?!...)


Adding a CheckBox Click Event Handler

CheckBox 엘리먼트의 CheckedUnchecked 어트리뷰트들은 checked, unchecked 이벤트 핸들러를 연결시킬 수 있다. checked 와 unchecked 이벤트들은 CheckBox 상태가 체크 되었거나 체크 해제되었을 때 발생된다. 아래 코드 조각은 이 두가지 이벤트 핸들러를 연결한 모습이다.

<CheckBox Name="McCheckBox" 
          Canvas.Left="10" Canvas.Top="10"
          Content="Check Me" 
          IsChecked="True" IsThreeState="True"
          Checked="McCheckBox_Checked" Unchecked="McCheckBox_Unchecked">            
</
CheckBox>


다음과 같이 이벤트 핸들러가 추가된다.

private void McCheckBox_Checked(object sender, RoutedEventArgs e)
{
}

private
void McCheckBox_Unchecked(object sender, RoutedEventArgs e)
{
}


각 이벤트 발생 시 CheckBox 의 Content 를 변경시켜 주었다.

private void McCheckBox_Checked(object sender, RoutedEventArgs e)
{
    McCheckBox.Content= "Checked";
}

private
void McCheckBox_Unchecked(object sender, RoutedEventArgs e)
{
    McCheckBox.Content= "Unchecked";
}



Creating a CheckBox Dynamically

아래 코드는 run-time 에 CheckBox 컨트롤을 생성하고 프로퍼티를 설정하는 코드이다.

private void CreateDynamicCheckBox()
{
    CheckBox chb = new CheckBox();
    chb.Content = "Click me";
    chb.IsChecked = true;
    chb.Foreground = new SolidColorBrush(Colors.Orange);
    chb.IsChecked = true;

   
LayoutRoot.Children.Add(chb);
}




Posted by six605
,