½½¶óÀÌ´õÀÇ Value ¼Ó¼ºÀº º° ÁöÁ¤ÀÌ ¾øÀ¸¸é ÃÖ¼Ò°ªÀ¸·Î ÃʱâȵȴÙ. µðÆúÆ® ¹üÀ§°¡ 0~10À̹ǷΠÃÖÃÊ ½ÇÇà½Ã Value´Â 0ºÎÅÍ ½ÃÀÛÇÒ °ÍÀÌ´Ù. ´ë°³ÀÇ °æ¿ì´Â ù °ªÀ» °¡Áö´Â °ÍÀÌ ¹«³ÇÏÁö¸¸ ¶§·Î´Â óÀ½ ½ÃÀ۽úÎÅÍ Áß°£°ªÀ» °¡Áú ¼öµµ ÀÖ´Ù. ÀÌ·² ¶§´Â XAML ¹®¼¿¡ ½½¶óÀÌ´õÀÇ Value ¼Ó¼ºÀ» ¿øÇÏ´Â °ªÀ¸·Î ÁöÁ¤ÇÏ¸é µÈ´Ù. ´ÙÀ½ ¿¹Á¦´Â ½½¶óÀÌ´õÀÇ Value¸¦ 4·Î ÃʱâÈÇÑ´Ù.
SliderInit1
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel>
<TextBlock Name="txtValue" Text="0" FontSize="50"/>
<Slider Name="Slider" Margin="20" Value="4"
ValueChanged="Slider_ValueChanged" />
</StackPanel>
</Grid>
================================== CS =======================================
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
txtValue.Text = Slider.Value.ToString();
}
<Slider> ¿¤¸®¸ÕÆ®ÀÇ Value ¼Ó¼º¿¡ 4¸¦ ´ëÀÔÇßÀ» »ÓÀÌ´Ù. Value´Â Àб⠾²±â°¡ °¡´ÉÇÑ ¼Ó¼ºÀ̹ǷΠÀÌ ´ëÀÔ¹® ÀÚü´Â ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Ù. ±×·¯³ª ÀÌ ¿¹Á¦¸¦ ½ÇÇàÇØ º¸¸é º¸±â ÁÁ°Ô ´Ù¿îµÇ¾î ¹ö¸®¸ç µð¹ö±ëÇØ º¸¸é ValueChanged À̺¥Æ® Çڵ鷯ÀÇ Äڵ忡¼ NullReferenceException ¿¹¿Ü°¡ ¹ß»ýÇÑ´Ù. ÀÌ Çڵ鷯¿¡¼ ÂüÁ¶ÇÏ´Â txtValue °´Ã¼°¡ ¾ÆÁ÷ ÃʱâȵÇÁö ¾Ê¾Ò´Ù´Â ¶æÀÌ´Ù.
ÀÌ ¹®Á¦ÀÇ ¿øÀÎÀº ValueChanged À̺¥Æ®°¡ Value°¡ ¹Ù²ð ¶§¸¶´Ù È£ÃâµÇ¸ç ½½¶óÀÌ´õ »ý¼ºÁß¿¡ Value°ªÀ» ÃʱâÈÇصµ È£ÃâµÇ±â ¶§¹®ÀÌ´Ù. Value="4" ´ëÀÔ¹®À» ½ÇÇàÇÒ ¶§´Â XAMLÀÇ ¿¤¸®¸ÕÆ®µéÀÌ ÃʱâȵǴ ÁßÀ̸ç MainPageÀÇ txtValue ¸â¹ö´Â ¾ÆÁ÷ ÃʱâȵÇÁö ¾ÊÀº »óÅÂÀÌ´Ù. µû¶ó¼ ÀÌ ½ÃÁ¡¿¡¼´Â txtValue¸¦ ÂüÁ¶ÇÒ ¼ö ¾ø´Ù. ¿ä¾àÇÏÀÚ¸é ºñÁÖ¾ó Æ®¸®¸¦ ¸¸µé°í ÀÖ´Â Áß¿¡ ¹ß»ýÇÑ À̺¥Æ® Çڵ鷯¿¡¼´Â ÄÁÆ®·ÑÀ» ÇԺηΠÂüÁ¶Çؼ´Â ¾ÈµÈ´Ù.
»ç½Ç ValueChanged À̺¥Æ®ÀÇ Á¤ÀÇ¿¡¼ºÎÅÍ ±Ùº»ÀûÀÎ ¹®Á¦°¡ Àִµ¥ ÀÌ À̺¥Æ®´Â °ªÀÌ ¹Ù²ð ¶§¸¶´Ù ¹ß»ýÇÏ´Â °ÍÀ¸·Î µÇ¾î ÀÖ´Ù. XAML¿¡¼ °ªÀ» ÃʱâÈÇÏ´Â µ¿ÀÛÀº ù °ªÀ» ÁÖ´Â °ÍÀ̹ǷΠ°ªÀÌ ¹Ù²î´Â °Í°ú´Â ¾à°£ ¼ºÁúÀÌ ´Ù¸£´Ù. »ç¿ëÀÚ°¡ ÄÁÆ®¸¦À» Á÷Á¢ Á¶ÀÛÇÒ ¶§¸¸ À̺¥Æ®°¡ ¹ß»ýÇÑ´Ù¸é ÀÌ·± ¹®Á¦°¡ ¾ø°ÚÁö¸¸ ½Ç¹ö¶óÀÌÆ®ÀÇ À̺¥Æ®´Â ±×·¸Áö ¾ÊÀ¸¹Ç·Î ¹®Á¦¸¦ ȸÇÇÇØ¾ß ÇÑ´Ù.
°¡Àå ½¬¿î ¹æ¹ýÀº À̺¥Æ® Çڵ鷯¿¡¼ ÄÁÆ®·ÑÀÌ Á¦´ë·Î ÃʱâȵǾú´ÂÁö null üũ¸¦ ÇØ º¸´Â °ÍÀÌ´Ù. ÂüÁ¶ÇÏ°íÀÚ ÇÏ´Â ÄÁÆ®·ÑÀÌ Á¦´ë·Î ÃʱâȵǾúÀ» ¶§¸¸ ÄÁÆ®·ÑÀ» ¾×¼¼½ºÇÏ°í ±×·¸Áö ¾ÊÀ» ¶§´Â ¾Æ¹« µ¿ÀÛµµ ÇÏÁö ¾Ê´Â´Ù. ´ÙÀ½°ú °°ÀÌ ¿¹Á¦¸¦ ¼öÁ¤Çϸé ÃʱâÈÁß¿¡´Â txtValue¸¦ ¾×¼¼½ºÇÏÁö ¾ÊÀ¸¹Ç·Î ÃÖ¼ÒÇÑ ´Ù¿îµÇÁö´Â ¾Ê´Â´Ù.
SliderInit2
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel>
<TextBlock Name="txtValue" Text="0" FontSize="50"/>
<Slider Name="Slider" Margin="20" Value="4"
ValueChanged="Slider_ValueChanged" />
</StackPanel>
</Grid>
================================== CS =======================================
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (txtValue != null)
{
txtValue.Text = Slider.Value.ToString();
}
}
±×·¯³ª ÀÌ·¸°Ô Çϸé ÃÖÃÊ Value°ªÀ» ÁöÁ¤ÇÒ ¶§ÀÇ À̺¥Æ®°¡ ¹«½ÃµÇ¹Ç·Î ÅؽºÆ® ºí·Ï¿¡ ÃʱⰪÀÌ Ãâ·ÂµÇÁö ¾Ê´Â ¶Ç ´Ù¸¥ ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. ½½¶óÀÌ´õÀÇ ½æÀº Áß°£Âë¿¡ ÀÖÁö¸¸ ÀÌ °ªÀ» Ãâ·ÂÇÏ´Â ÅؽºÆ® ºí·ÏÀº ¾ÆÁ÷ 0ÀÌ´Ù. ÀÌ »óÅ¿¡¼ ½½¶óÀÌ´õ¸¦ ¿òÁ÷ÀÌ¸é ±×¶§¾ß ºñ·Î¼Ò ÅؽºÆ® ºí·ÏÀÇ °ªÀÌ Á¦´ë·Î Ãâ·ÂµÈ´Ù.
Àӽà ¹æÆíÀ¸·Î XAML¹®¼¿¡¼ txtValueÀÇ Text ¼Ó¼º¿¡ Á÷Á¢ 4¸¦ ´ëÀÔÇÏ¿© ½½¶óÀÌ´õÀÇ ÃʱⰪ°ú ÀÏÄ¡½ÃÄÑ ³õÀ» ¼ö´Â ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ·± ½ÄÀ̸é ÃʱⰪÀ» ¹Ù²Ü ¶§¸¶´Ù 2±ºµ¥¸¦ °°ÀÌ ¼öÁ¤ÇØ¾ß ÇÏ´Â Ãß°¡ ÀϰŸ®°¡ »ý±â¹Ç·Î ÄÚµå °ü¸®»ó ÁÁÀº ±¸Á¶´Â ¾Æ´Ï´Ù. ¸Å À̺¥Æ® Çڵ鷯¸¶´Ù ÃʱâÈÁßÀÇ ¿¡·¯¸¦ ÇÇÇϱâ À§ÇØ Á¶°Ç¹®À» ³Ö´Â °Íµµ ±ÍÂúÀº ÀÏÀÌ¸ç ½ÇÇà ¼Óµµ³ª ÇÁ·Î±×·¥ Å©±â°¡ ³¶ºñµÈ´Ù.
ÀÌ ¹®Á¦ÀÇ Á¤¼®ÀûÀÎ ÇعýÀº XAML¿¡¼ ¼Ó¼º°ªÀ» ÃʱâÈÇÏÁö ¾Ê°í ºñÁÖ¾ó Æ®¸®¸¦ ¿Ï¼ºÇÑ ÈÄ¿¡ ÃʱâÈÇÏ´Â °ÍÀÌ´Ù. ÀÌ ½ÃÁ¡Àº »ý¼ºÀÚ¿¡¼ InitializeComponent ¸Þ¼µå¸¦ È£ÃâÇÑ Á÷ÈÄÀÌ´Ù. XAML ÆÄÀÏÀÇ Value ´ëÀÔ¹®À» Á¦°ÅÇÏ°í ´ÙÀ½°ú °°ÀÌ Äڵ带 ÀÛ¼ºÇÏ¸é ¸ðµç ¹®Á¦°¡ ÇØ°áµÈ´Ù.
SliderInit3
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel>
<TextBlock Name="txtValue" Text="0" FontSize="50"/>
<Slider Name="Slider" Margin="20"
ValueChanged="Slider_ValueChanged" />
</StackPanel>
</Grid>
================================== CS =======================================
public MainPage()
{
InitializeComponent();
Slider.Value = 4;
}
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
txtValue.Text = Slider.Value.ToString();
}
InitializeComponent ¸Þ¼µå°¡ ¸®ÅÏÇÏ¸é ºñÁÖ¾ó Æ®¸®°¡ ¿Ï¼ºµÈ »óÅÂÀ̹ǷΠÀ̶§ºÎÅÍ´Â ¸ðµç ÄÁÆ®·ÑÀ» ÀÚÀ¯·Ó°Ô ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù. Slider.Value = 4; Äڵ带 ½ÇÇàÇÒ ¶§´Â txtValue°¡ ÀÌ¹Ì ÃʱâȵǾî ÀÖÀ¸¹Ç·Î ¾Æ¹« ¹®Á¦°¡ ¾ø´Ù. À̺¥Æ® Çڵ鷯ÀÇ null üũ Á¶°Ç¹®ÀÌ ¾ø¾îµµ ÄÚµå´Â Á¤»ó ½ÇÇàµÇ¸ç ÅؽºÆ® ºí·Ï¿¡µµ ÃʱⰪÀÌ Àß Ç¥½ÃµÈ´Ù.
±×·¸´Ù°í ¸ðµç ¼Ó¼ºÀ» »ý¼ºÀÚ¿¡¼ ÃʱâÈÇÒ ÇÊ¿ä´Â ¾ø´Ù. ¼Ó¼ºÀ» º¯°æÇÒ ¶§ À̺¥Æ®°¡ ¹ß»ýÇÏ°í ±× À̺¥Æ®¿¡¼ ´Ù¸¥ ÄÁÆ®·ÑÀ» ÂüÁ¶ÇÏ´Â °æ¿ì¿¡¸¸ ÀÌ ¹æ½ÄÀ» »ç¿ëÇÏ¸é µÈ´Ù. XAML¹®¼¿¡¼ ÃʱⰪÀ» ÁöÁ¤ÇÒ ¼ö ¾ø¾î ºÒÆíÇÏÁö¸¸ À̺¥Æ® Çڵ鷯¸¶´Ù ÃʱâÈ ¿©ºÎ¸¦ Á¡°ËÇÏÁö ¾Ê¾Æµµ µÇ¹Ç·Î ÄÚµå´Â ÈξÀ ´õ °£´ÜÇØÁø´Ù.
¼Ó¼ºÀÇ ÃʱâÈ ¹®Á¦´Â ½½¶óÀÌ´õ¿¡¸¸ ¹ß»ýÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¸ðµç ÄÁÆ®·Ñ¿¡ °øÅëÀûÀ¸·Î ³ªÅ¸³´Ù. CheckBoxTest ¿¹Á¦ÀÇ chkDisable üũ ¹Ú½º´Â ÃÖÃÊ ¾ðüũ »óÅ·Π½ÃÀ۵Ǵµ¥ ¸¸¾à üũ »óÅ·ΠÃʱâÈÇÑ´Ù°í ÇØ º¸ÀÚ. XAML ¹®¼¿¡ IsChecked="true" ´ëÀÔ¹®À» ½á ³ÖÀ¸¸é µÉ °Í °°Áö¸¸ ¾Õ ¿¹Á¦¿Í ¶È°°Àº ¹®Á¦°¡ ¹ß»ýÇÑ´Ù.
<CheckBox Name="chkDisable" Content="Disable Button" Checked="chkDisable_Checked"
Unchecked="chkDisable_Unchecked" Click="chkDisable_Click" IsChecked="true" />
üũ ¹Ú½ºÀÇ IsChecked ¼Ó¼ºÀÌ ¹Ù²î¸é Checked À̺¥Æ®°¡ ¹ß»ýÇÏ¸ç ¿©±â¼ ÂüÁ¶ÇÏ´Â btnTest °´Ã¼°¡ ¾ÆÁ÷ ÃʱâȵÇÁö ¾Ê¾ÒÀ¸¹Ç·Î ¹®Á¦°¡ ¹ß»ýÇÏ´Â °ÍÀÌ´Ù. ¹®Á¦°¡ ¹ß»ýÇÏ´Â ¿øÀÎÀÌ ¾Õ ¿¹Á¦¿Í µ¿ÀÏÇϹǷΠÇØ°á ¹æ¹ýµµ ¿ª½Ã µ¿ÀÏÇÏ´Ù. chkDisable.IsChecked = true; ´ëÀÔ¹®À» »ý¼ºÀÚÀÇ ³¡ ºÎºÐÀ¸·Î ¿Å±â¸é ±ò²ûÇÏ°Ô ÇØ°áµÈ´Ù.
ÀÌ»óÀ¸·Î À©µµ¿ì ÆùÀÌ Á¦°øÇÏ´Â ±âº» ÄÁÆ®·Ñ¿¡ ´ëÇØ ¼Ò°³Çß´Ù. ÀÌ ¿Ü¿¡µµ À©µµ¿ìÆù¿¡´Â ´õ ¸¹Àº ÄÁÆ®·ÑµéÀÌ ÀÖÀ¸¸ç ÅøŶÀ» ¼³Ä¡Çϸé ÈξÀ ´õ ¸¹Àº ÄÁÆ®·ÑÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÇǺ¿, Æijë¶ó¸¶, ¸®½ºÆ® ¹Ú½º °°Àº °í±Þ ÄÁÆ®·ÑÀº ÈξÀ ´õ º¹ÀâÇÏ°í ¸ÕÀú ¾Ë¾Æ¾ß ÇÒ °ÍÀÌ ¸¹À¸¹Ç·Î Â÷ÈÄ¿¡ »ó¼¼ÇÏ°Ô ¿¬±¸ÇØ º¼ °ÍÀÌ´Ù.