¹öÆ°Àº Ŭ¸¯À» ÀԷ¹޴ ÄÁÆ®·ÑÀÌ´Ù. ¸ð¹ÙÀÏ Æù¿¡¼´Â ¼Õ°¡¶ôÀ¸·Î ȸéÀ» ÅÇÇÏ´Â µ¿ÀÛÀÌ Å¬¸¯¿¡ ÇØ´çµÈ´Ù. ȸéÀ» ¼Õ°¡¶ôÀ¸·Î ´©¸£´Â ÅÇ µ¿ÀÛÀº °¡Àå ½¬¿ì¸é¼µµ ½Å¼ÓÇÏ°Ô Àü´ÞÇÒ ¼ö ÀÖ´Â ÀÇ»ç Ç¥ÇöÀÌ´Ù. ±×·¡¼ ¸í·ÉÀ» ÀԷ¹޴ ¿ëµµ·Î ¹öÆ°ÀÌ ÁÖ·Î »ç¿ëµÈ´Ù. ButtonÀº ÅÇ µ¿ÀÛ¿¡ ´ëÇØ Å¬¸¯ À̺¥Æ®¸¦ ¹ß»ý½ÃÅ´À¸·Î½á ƯÁ¤ Äڵ带 ½ÇÇà½ÃÅ°´Â ¿ªÇÒÀ» ÇÑ´Ù.
Ŭ·¡½º °èÃþµµ¸¦ º¸¸é Control·ÎºÎÅÍ ContentControlÀÌ ÆÄ»ýµÇ°í ´Ù½Ã ButtonBase°¡ ÆÄ»ýµÇ´Âµ¥ ÀÌ Å¬·¡½º°¡ ¹öÆ° °ü·Ã Ŭ·¡½ºµéÀÇ ÃÖ»óÀ§ ºÎ¸ðÀÌ´Ù. ÀÌ Å¬·¡½º·ÎºÎÅÍ Çª½Ã ¹öÆ° »Ó¸¸ ¾Æ´Ï¶ó üũ ¹Ú½º³ª ¶óµð¿À ¹öÆ° µî ÅÇ ÀÔ·ÂÀ» ¹Þ´Â ¿©·¯ °¡Áö ¹öÆ° ÄÁÆ®·ÑµéÀÌ ÆÄ»ýµÈ´Ù. ButtonBaseÀÇ ÁÖ¿ä ¼Ó¼ºÀº ´ÙÀ½°ú °°´Ù.
¼Ó¼º |
¼³¸í |
Content |
¹öÆ° Ç¥¸é¿¡ Ç¥½ÃÇÒ ³»¿ë¹°ÀÌ´Ù. º¸Åë ¹®ÀÚ¿ »ó¼ö¸¦ Ç¥½ÃÇÑ´Ù. |
Command |
¹öÆ°À» ´·¶À» ¶§ ½ÇÇàÇÒ ¸í·ÉÀÌ´Ù. |
IsFocused |
Æ÷Ä¿½º¸¦ °¡Áö°í ÀÖ´ÂÁö Á¶»çÇÑ´Ù. |
IsMouseOver |
¸¶¿ì½º°¡ ¹öÆ° À§¿¡ ÀÖ´ÂÁö Á¶»çÇÑ´Ù. |
IsPressed |
´·¯Áø »óÅÂÀÎÁö Á¶»çÇÑ´Ù. |
ClickMode |
Ŭ¸¯ À̺¥Æ®¸¦ ¾ðÁ¦ ¹ß»ý½Ãų °ÍÀΰ¡¸¦ ÁöÁ¤ÇÑ´Ù. |
¹öÆ° Ç¥¸é¿¡ Ãâ·ÂÇÒ Ä¸¼ÇÀ» Content ¼Ó¼ºÀ¸·Î ÁöÁ¤Çϸç ÇöÀç »óŸ¦ Ç¥ÇöÇÏ´Â ´Ù¼öÀÇ ÁøÀ§Çü ¼Ó¼ºµéÀÌ Á¦°øµÈ´Ù. Button ÀÚü´Â º°´Ù¸¥ Ãß°¡ ¼Ó¼ºÀÌ ¾øÀ¸¸ç Content ¼Ó¼º¿¡ ĸ¼Ç¸¸ ÁöÁ¤ÇÏ¸é ½±°Ô ¹èÄ¡ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº ¹öÆ°ÀÇ °¡Àå °£´ÜÇÑ ¿¹ÀÌ´Ù.
<Button Content="Click" />
Ç¥¸é¿¡ ClickÀ̶ó´Â ĸ¼ÇÀ» °¡Áö´Â ¹öÆ°ÀÌ ¹èÄ¡µÈ´Ù. ¹öÆ°Àº Ŭ¸¯ÇÏ¿© ¸í·ÉÀ» ÀԷ¹޴ ÄÁÆ®·ÑÀ̹ǷΠÀ̺¥Æ® Çڵ鷯¸¦ ¹Ýµå½Ã ÀÛ¼ºÇØ¾ß ÇÑ´Ù. ButtonTest¶ó´Â À̸§À¸·Î »õ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé°í ¼öÁ÷ ½ºÅà Æгξȿ¡ ¹öÆ° 3°³¸¦ ¹èÄ¡ÇØ º¸ÀÚ.
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel>
<Button Name="btnMessage" Content="MessageBox" />
<Button Name="btnEnable" Content="Enable" />
<Button Name="btnDisable" Content="Disable" />
</StackPanel>
</Grid>
²À ÇÊ¿äÇÑ °ÍÀº ¾Æ´ÏÁö¸¸ À̺¥Æ® Çڵ鷯ÀÇ À̸§ÀÌ ¹öÆ°ÀÇ À̸§À» µû¶ó °¡¹Ç·Î Name ¼Ó¼º¿¡ ¹öÆ°ÀÇ À̸§À» ÁöÁ¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÀÌ »óÅ¿¡¼ ½ÇÇàÇØ º¸¸é ȸ鿡 ¹öÆ°ÀÌ ³ªÅ¸³ªÁö¸¸ Ŭ¸¯Çصµ ¾Æ¹«·± ¹ÝÀÀÀÌ ¾ø´Ù. »ç¿ëÀÚÀÇ ¹öÆ° Ŭ¸¯¿¡ ´ëÇØ ¹ÝÀÀÇÏ·Á¸é À̺¥Æ® Çڵ鷯¸¦ »ý¼ºÇÏ°í Äڵ嵵 ÀÛ¼ºÇØ¾ß ÇÑ´Ù.
À̺¥Æ® Çڵ鷯 ÀÛ¼º¹ý¿¡ ´ëÇؼ´Â ´ÙÀ½ Àå¿¡¼ ü°èÀûÀ¸·Î ¿¬±¸ÇØ º¸±â·Î Ç쵂 ¹öÆ°ÀÇ °æ¿ì´Â µðÀÚÀÎ ºä¿¡¼ ´õºíŬ¸¯Çϸé À̺¥Æ® Çڵ鷯°¡ »ý¼ºµÈ´Ù. ù ¹ø° ¹öÆ°À» ´õºíŬ¸¯ÇØ º¸ÀÚ. ÄÚµåâÀÌ ¿¸®¸é¼ ´ÙÀ½°ú °°Àº À̺¥Æ® Çڵ鷯 ¸Þ¼µå°¡ »ý¼ºµÉ °ÍÀÌ´Ù.
private void btnMessage_Click(object sender, RoutedEventArgs e)
{
}
ÄÁÆ®·ÑÀÇ À̸§°ú À̺¥Æ®ÀÇ À̸§À» Á¶ÇÕÇÏ¿© Çڵ鷯 ¸Þ¼µå°¡ »ý¼ºµÈ´Ù. btnMessage_ClickÀ̶ó´Â ¸Þ¼µå À̸§Àº btnMessage ¹öÆ°À» ClickÇÒ ¶§ÀÇ µ¿ÀÛÀ» Á¤ÀÇÇÑ´Ù´Â ¶æÀÌ´Ù. XAML ÆÄÀÏÀÇ ¹öÆ° °´Ã¼ ¹èÄ¡¹®¿¡´Â À̺¥Æ®¿Í À̺¥Æ® Çڵ鷯¸¦ ¿¬°áÇÏ´Â ´ÙÀ½ ¹®ÀåÀÌ ÀÚµ¿À¸·Î ÀÛ¼ºµÈ´Ù.
<Button Name="btnMessage" Content="MessageBox" Click="btnMessage_Click" />
Click À̺¥Æ®°¡ ¹ß»ýÇϸé btnMessage_Click ¸Þ¼µå¸¦ È£ÃâÇ϶ó´Â Áö½Ã »çÇ×ÀÌ´Ù. ¸Þ¼µåÀÇ ²®µ¥±â¸¸ »ý¼ºµÉ »Ó ¾ÆÁ÷ º»Ã¼´Â ºñ¾î Àִµ¥ ÀÌ ¾È¿¡ ¹öÆ°ÀÌ Å¬¸¯µÇ¾úÀ» ¶§ÀÇ µ¿ÀÛÀ» ÄÚµå·Î ±â¼úÇÑ´Ù. °°Àº ¹æ½ÄÀ¸·Î ³ª¸ÓÁö µÎ ¹öÆ°¿¡ ´ëÇؼµµ Ŭ¸¯ À̺¥Æ® Çڵ鷯¸¦ »ý¼ºÇÏ°í Äڵ带 ÀÛ¼ºÇÑ´Ù. ÀÛ¾÷ÀÌ ¿Ï·áµÈ ÈÄÀÇ ¼Ò½º´Â ´ÙÀ½°ú °°´Ù.
ButtonTest
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel>
<Button Name="btnMessage" Content="MessageBox" Click="btnMessage_Click" />
<Button Name="btnEnable" Content="Enable" Click="btnEnable_Click" />
<Button Name="btnDisable" Content="Disable" Click="btnDisable_Click" />
</StackPanel>
</Grid>
================================== CS =======================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
namespace ButtonTest
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
}
private void btnMessage_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("¹öÆ°À» Ŭ¸¯ÇÏ¿´½À´Ï´Ù.");
}
private void btnEnable_Click(object sender, RoutedEventArgs e)
{
btnMessage.IsEnabled = true;
}
private void btnDisable_Click(object sender, RoutedEventArgs e)
{
btnMessage.IsEnabled = false;
}
}
}
ÀÌ ¿¹Á¦ºÎÅÍ´Â XAMLÀÇ ·¹À̾ƿô»Ó¸¸ ¾Æ´Ï¶ó ¿¬°áµÈ ¼Ò½º ÆÄÀÏ¿¡µµ Äڵ尡 ÀÛ¼ºµÈ´Ù. ¾Õ Àå¿¡¼ ¹Ì¸® ¼³¸íÇßÁö¸¸ ³ëÆĽɿ¡ ÇÑ ¹ø ´õ ¼³¸íÇÏÀÚ¸é MainPage.xaml°ú MainPage.xaml.cs ÆÄÀÏÀ» ÇÑ ¸®½ºÆ®¿¡ ¸ðµÎ Ãâ·ÂÇ쵂 Áß°£¿¡ ±¸ºÐ¼±À» »ðÀÔÇÏ¿© ±¸ºÐÇÑ´Ù. ÀÌÈÄ¿¡´Â using ¼±¾ð¹®À̳ª Ŭ·¡½º ¼±¾ð¹®, »ý¼ºÀÚ µîÀº Á¦¿ÜÇÏ°í Ãß°¡µÈ Äڵ常 °£·«ÇÏ°Ô º¸ÀÏ °ÍÀÌ´Ù.
¸ðµç ¹öÆ°¿¡ Ŭ¸¯ À̺¥Æ® Çڵ鷯°¡ ÀÛ¼ºµÇ¾úÀ¸¸ç XAML ÆÄÀÏ¿¡´Â Click ¼Ó¼ºÀ¸·Î À̺¥Æ® Çڵ鷯°¡ ¿¬°áµÇ¾î ÀÖ´Ù. ½ÇÇàÇÏ¸é ¼¼ °³ÀÇ ¹öÆ°ÀÌ ¼öÁ÷À¸·Î ³ª¶õÈ÷ ¹èÄ¡µÇ¸ç °¢ ¹öÆ°À» ´©¸£¸é À̺¥Æ® Çڵ鷯°¡ È£ÃâµÈ´Ù. Á¦ÀÏ À§ÀÇ MessageBox ¹öÆ°À» Ŭ¸¯Çϸé È¸é »ó´Ü¿¡ ¸Þ½ÃÁö ¹Ú½º°¡ ³ªÅ¸³´Ù.
»ç¿ëÀÚ°¡ ¹öÆ°À» ´©¸¦ ¶§ Äڵ尡 ½ÇÇàµÇ¾î ¹º°¡ ¹ÝÀÀÀ» º¸ÀÌ´Â °ÍÀÌ´Ù. ¸Þ½ÃÁö ¹Ú½º´Â ´ÙÀ½ Ç׿¡¼ ¿¬±¸ÇØ º¼ °ÍÀÌ´Ù. ok ¹öÆ°À» ´©¸£¸é ¸Þ½ÃÁö ¹Ú½º°¡ ´ÝÈù´Ù. ¾Æ·¡ÂÊÀÇ µÎ ¹öÆ°À» Ŭ¸¯Çϸé ù ¹ø° ¹öÆ°ÀÇ IsEnabled ¼Ó¼ºÀ» Åä±ÛÇÏ¿© »ç¿ë °¡´É¼ºÀ» Á¦¾îÇÑ´Ù. IsEnabled ¼Ó¼ºÀº UIElement·ÎºÎÅÍ »ó¼Ó¹ÞÀº °ÍÀÌ¸ç ¸ðµç ÄÁÆ®·ÑÀÌ Áö¿øÇÑ´Ù. Disable ¹öÆ°À» ´©¸£¸é MessageBox ¹öÆ°ÀÌ È¸»öÀ¸·Î ¹Ù²î¸ç ÀÌ »óÅ¿¡¼´Â Ŭ¸¯Çصµ ¹ÝÀÀÇÏÁö ¾Ê´Â´Ù.
¹öÆ°ÀÇ ¸í·ÉÀ» ¼öÇàÇÒ ¼ö ¾ø´Â »óȲÀÏ ¶§´Â IsEnabled ¼Ó¼ºÀ» false·Î º¯°æÇÏ¿© »ç¿ëÀÚ°¡ ÀÌ ¹öÆ°À» ´©¸£Áö ¸øÇϵµ·Ï ±ÝÁöÇÒ ¼ö ÀÖ´Ù. IsEnabled »Ó¸¸ ¾Æ´Ï¶ó ´ëºÎºÐÀÇ ¼Ó¼ºµéµµ ½ÇÇàÁß¿¡ º¯°æÇÏ¿© »óŸ¦ Á¶Á¤ÇÒ ¼ö ÀÖ´Ù. ´çÀå ºÒÇÊ¿äÇÑ ÄÁÆ®·ÑÀº ¼û±æ ¼ö ÀÖ°í ĸ¼ÇÀ̳ª »ö»óÀ» º¯°æÇÏ¿© ÇöÀç »óŸ¦ »ç¿ëÀÚ¿¡°Ô º¸¿©Áֱ⵵ ÇÑ´Ù.