2010년 3월 23일 화요일

WPF CheckBox Control

원문 : 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);
}



댓글 없음:

댓글 쓰기