4-3-2.üũ ¹Ú½º

üũ ¹Ú½º´Â µÑ Áß ÇϳªÀÇ ¿É¼ÇÀ» ¼±ÅÃÇÒ ¶§ »ç¿ëÇÏ´Â ÄÁÆ®·ÑÀÌ´Ù. ÁøÀ§Çü ¿É¼ÇÀ» ¼±ÅÃÇÒ ¶§ »ç¿ëÇÏ¸ç »ç¿ëÀÚ°¡ ¹öÆ°À» ´­·¯ üũ »óŸ¦ Åä±ÛÇÑ´Ù. ButtonBase·ÎºÎÅÍ ¹öÆ°ÀÇ ±âº» ¼Ó¼ºÀ» ¸ðµÎ »ó¼Ó¹Þ°í ToggleButtonÀ¸·ÎºÎÅÍ Ã¼Å© ¿©ºÎ¸¦ Á¶»çÇÏ´Â IsChecked¿Í »óÅÂÀÇ °³¼ö¸¦ ÁöÁ¤ÇÏ´Â IsThreeState ¼Ó¼ºÀ» »ó¼Ó¹Þ´Â´Ù.

üũ ¹Ú½º´Â Âü, °ÅÁþ µÑ Áß ÇϳªÀÇ °ªÀ» ¼±ÅÃÇÏ´Â ¿ëµµ·Î ÁÖ·Î »ç¿ëÇÏÁö¸¸ IsThreeState ¼Ó¼ºÀÌ TrueÀ̸é Âüµµ °ÅÁþµµ ¾Æ´Ñ Á¦ 3ÀÇ »óŵµ ÀԷ¹ÞÀ» ¼ö ÀÖ´Ù. Á¦ 3ÀÇ »óÅ´ µÑ Áß ¾î´À °Íµµ ¾Æ´Ï°Å³ª ¾ÆÁ÷ °áÁ¤ÇÒ ¼ö ¾ø´Â ¾Ö¸ÅÇÑ »óŸ¦ Ç¥ÇöÇÑ´Ù. üũ ¹Ú½º¸¦ Ŭ¸¯Çϸé üũ, ¾ðüũ µÎ °¡Áö »óŸ¦ Åä±ÛÇÏÁö¸¸ IsThreeState »óÅÂÀÇ Ã¼Å© ¹Ú½º´Â üũ, ¾ðüũ, ¹Ì°áÁ¤ ¼¼ °¡Áö »óŸ¦ ¼øȯÇÑ´Ù.

IsChecked ¼Ó¼ºÀº üũ ¹Ú½ºÀÇ Ãʱ⠻óŸ¦ ÁöÁ¤Çϰųª ÇöÀç »óŸ¦ Á¶»çÇÑ´Ù. üũ µÇ¾î ÀÖÀ¸¸é TrueÀÌ°í ±×·¸Áö ¾ÊÀ¸¸é FalseÀÌ´Ù. IsThreeState ¼Ó¼ºÀÌ TrueÀÎ °æ¿ì´Â Á¦ 3ÀÇ »óŸ¦ °¡Áú ¼ö Àִµ¥ ¹Ì°áÁ¤ »óÅÂÀÎ °æ¿ì IsChecked ¼Ó¼ºÀº Nothing(null)°ªÀ» °¡Áø´Ù. ¼¼°¡Áö »óŸ¦ Ç¥ÇöÇØ¾ß ÇϹǷΠIsChecked ¼Ó¼ºÀÇ Å¸ÀÔÀº boolÀÌ ¾Æ´Ï¶ó Nullable<bool> ŸÀÔÀÌ´Ù.

»ç¿ëÀÚ°¡ üũ ¹Ú½º¸¦ Ŭ¸¯Çϸé Click À̺¥Æ®°¡ ¹ß»ýÇÑ´Ù. »Ó¸¸ ¾Æ´Ï¶ó üũ »óÅ°¡ ¹Ù²ð ¶§¸¶´Ù Checked, Unchecked À̺¥Æ®°¡ ¹ß»ýÇÑ´Ù. üũ »óÅ°¡ ¹Ù²î´Â Áï½Ã ¾î¶² ÀÛ¾÷À» ÇÏ°í ½Í´Ù¸é ÀÌ À̺¥Æ®ÀÇ Çڵ鷯¿¡ Äڵ带 ÀÛ¼ºÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â üũ ¹Ú½ºÀÇ ±âº» µ¿ÀÛÀ» º¸¿©ÁØ´Ù.

 

CheckBoxTest

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

    <StackPanel>

        <CheckBox Name="chkDisable" Content="Disable Button" Checked="chkDisable_Checked"

                    Unchecked="chkDisable_Unchecked" Click="chkDisable_Click" />

        <Button Name="btnTest" Content="Test Button"/>

        <CheckBox Name="chkMale"  Content="³²ÀÚ" IsChecked="True"/>

        <CheckBox Name="chkMarry"  Content="±âÈ¥" IsThreeState="True" />

        <CheckBox Name="chkAcademy" Content="´ëÁ¹" />

    </StackPanel>

</Grid>

================================== CS =======================================

private void chkDisable_Checked(object sender, RoutedEventArgs e)

{

    btnTest.IsEnabled = false;

}

 

private void chkDisable_Unchecked(object sender, RoutedEventArgs e)

{

    btnTest.IsEnabled = true;

}

 

private void chkDisable_Click(object sender, RoutedEventArgs e)

{

    if (chkDisable.IsChecked == true)

    {

        btnTest.IsEnabled = false;

    }

    else

    {

        btnTest.IsEnabled = true;

    }

}

 

½ºÅà Æгο¡ 4°³ÀÇ Ã¼Å© ¹Ú½º¸¦ ¹èÄ¡Çß´Ù. ÀÌ Ã¼Å© ¹Ú½º¸¦ Åä±ÛÇϸé Test ButtonÀÇ »ç¿ë °¡´É¼º »óÅ°¡ Åä±ÛµÈ´Ù. ¹öÆ°ÀÇ »ç¿ë °¡´É »óÅ´ Çã¿ë, ±ÝÁö µÑ Áß ÇϳªÀ̹ǷΠüũ ¹Ú½º·Î ¼±ÅÃÇϱ⿡ ÀûÇÕÇÑ ¿É¼ÇÀÌ´Ù.

 

ù ¹ø° üũ ¹Ú½ºÀÇ Checked, Unchecked À̺¥Æ® Çڵ鷯¿¡¼­ üũ ¿©ºÎ¿¡ µû¶ó btnTest ¹öÆ°ÀÇ IsEnabled ¼Ó¼ºÀ» Åä±ÛÇÑ´Ù. »ç¿ëÀÚ°¡ üũ ¹Ú½º¸¦ ´©¸¦ ¶§¸¶´Ù ¹öÆ°ÀÇ »ç¿ë °¡´É ¿©ºÎ°¡ ¹Ù²ð °ÍÀÌ´Ù. µÎ À̺¥Æ® ´ë½Å Click À̺¥Æ®¸¦ ¹Þ¾Æ üũ ¹Ú½ºÀÇ IsChecked ¼Ó¼ºÀ» Á÷Á¢ Á¡°ËÇØ º¸°í üũ ¿©ºÎ¸¦ ÆÇ´ÜÇÒ ¼öµµ ÀÖ´Ù. À§ ¿¹Á¦¿¡¼­ Click À̺¥Æ® Çڵ鷯¿Í Checked, Unchecked À̺¥Æ® Çڵ鷯´Â µÑ Áß Çϳª¸¸ ÀÖÀ¸¸é µÈ´Ù.

Checked, Unchecked À̺¥Æ®´Â ¹ß»ý½Ã üũ ¹Ú½ºÀÇ »óÅ°¡ ¸íÈ®ÇϹǷΠIsChecked ¼Ó¼ºÀ» º¼ ÇÊ¿ä ¾øÀÌ ¹Ù·Î ó¸®ÇÒ ¼ö ÀÖ´Ù´Â Á¡¿¡¼­ Æí¸®ÇÏ´Ù. ÇÏÁö¸¸ ¼¼ °¡Áö »óŸ¦ Ç¥ÇöÇϴ üũ ¹Ú½ºÀÇ ¹Ì°áÁ¤ »óÅ¿¡ ´ëÇÑ À̺¥Æ®°¡ µû·Î ¾ø¾î ÀÌ µÎ ¸Þ¼­µå¸¸À¸·Î´Â ¸ðµç »óŸ¦ ó¸®ÇÒ ¼ö ¾ø´Ù´Â ¹®Á¦°¡ ÀÖ°í ºñ½ÁÇÑ Äڵ带 µÎ ¸Þ¼­µå¿¡ ³ª´©¾î ÀÛ¼ºÇÏ´Â ±¸Á¶µµ ¹Ù¶÷Á÷ÇÏÁö ¾Ê´Ù. Click À̺¥Æ® Çڵ鷯´Â Ŭ¸¯ÇÒ ¶§¸¶´Ù Àü´ÞµÇ¹Ç·Î ¸ðµç °æ¿ì¸¦ ó¸®ÇÒ ¼ö ÀÖ°í ÇÑ ¸Þ¼­µå¿¡¼­ ¸ðµç »óŸ¦ ÅëÇÕÇÏ¿© ó¸®ÇÒ ¼ö ÀÖ´Ù´Â ¸é¿¡¼­ Æí¸®ÇÏ´Ù.

üũ ¹Ú½ºÀÇ »óÅ°¡ ¹Ù²ð ¶§¸¶´Ù Áï½Ã ó¸®ÇÒ ÇÊ¿ä°¡ ¾ø´Ù¸é Çڵ鷯´Â ±»ÀÌ ÀÛ¼ºÇÏÁö ¾Ê¾Æµµ »ó°ü¾ø´Ù. ÆäÀÌÁö¸¦ ´ÝÀ» ¶§³ª º°µµÀÇ ¿Ï·á ¹öÆ°À» ´©¸¦ ¶§ IsChecked ¼Ó¼ºÀ» ÀÏ°ýÀûÀ¸·Î Á¶»çÇÏ¸é µÈ´Ù. ¾Æ·¡ÂÊÀÇ Ã¼Å© ¹Ú½ºµéÀº À̺¥Æ®¸¦ ó¸®ÇÏÁö ¾ÊÀ¸¸ç »ç¿ëÀÚ°¡ ÀÚÀ¯·Ó°Ô Åä±ÛÇϵµ·Ï ³»¹ö·ÁµÐ´Ù. chkMale üũ ¹Ú½º´Â ¼ºº°À» ¼±ÅÃÇϴµ¥ ¼ºº°Àº ³²ÀÚ ¾Æ´Ï¸é ¿©ÀÚÀ̹ǷΠüũ ¹Ú½º·Î ¼±ÅÃÇϱ⿡ ÀûÇÕÇÑ Á¤º¸ÀÌ´Ù.

chkMarry üũ ¹Ú½º´Â ±âÈ¥ ¿©ºÎ¸¦ ¹¯´Â´Ù. ±âÈ¥ ¾Æ´Ï¸é ¹ÌÈ¥ µÎ °¡Áö Áß Çϳª°¡ ÀϹÝÀûÀÌÁö¸¸ °¡²û »ç½ÇÈ¥, µ¿°Å, º°°Å µîÀÇ ¾Ö¸ÅÇÑ °æ¿ì°¡ ÀÖ´Ù. ¶Ç ¹Î°¨ÇÑ °³ÀÎ Á¤º¸À̹ǷΠ¹àÈ÷±â ½ÈÀº »ç¶÷µµ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·± °æ¿ì¸¦ À§ÇØ chkMarry üũ ¹Ú½º´Â IsThreeState ¼Ó¼ºÀ» True·Î ÁöÁ¤ÇÏ¿© ¹Ì°áÁ¤ »óŸ¦ Áö¿øÇÑ´Ù. »ç¿ëÀÚ°¡ ÀÌ Ã¼Å© ¹Ú½º¸¦ ÅÇÇÏ¸é ´ÙÀ½ ¼¼°¡Áö »óÅ°¡ ¼øȯµÈ´Ù.

  

¸¶Áö¸· chkAcademy üũ ¹Ú½º´Â ÇзÂÀ» ¹¯´Âµ¥ ÀÌ ¿É¼ÇÀº üũ ¹Ú½º·Î ÀÔ·ÂÇϱ⿡´Â ÀûÇÕÇÏÁö ¾Ê´Ù. üũ ¹Ú½º´Â Á¤¹Ý´ëÀÇ ¿É¼Ç Áß Çϳª¸¦ ¼±ÅÃÇÏ´Â °ÍÀ̹ǷΠ¹Ý´ë ´ë»óÀÌ ¹«¾ùÀÎÁö ¸íÈ®ÇØ¾ß ÇÑ´Ù. ´ëÁ¹ÀÇ ¹Ý´ë¸»À» °íÁ¹À̶ó°í ÇÒ ¼ö´Â ¾ø´Ù. ÁßÁ¹µµ ÀÖÀ» ¼ö ÀÖ°í ´ëÇпøÁ¹µµ ÀÖÀ» ¼ö ÀÖÀ¸¹Ç·Î ÀÌ·± ¿É¼ÇÀº üũ ¹Ú½ºº¸´Ù´Â ¶óµð¿À ¹öÆ°À̳ª ¸®½ºÆ® ¹Ú½º°¡ ´õ ¾î¿ï¸°´Ù.