4-2-1.Button

¹öÆ°Àº Ŭ¸¯À» ÀԷ¹޴ ÄÁÆ®·ÑÀÌ´Ù. ¸ð¹ÙÀÏ Æù¿¡¼­´Â ¼Õ°¡¶ôÀ¸·Î È­¸éÀ» ÅÇÇÏ´Â µ¿ÀÛÀÌ Å¬¸¯¿¡ ÇØ´çµÈ´Ù. È­¸éÀ» ¼Õ°¡¶ôÀ¸·Î ´©¸£´Â ÅÇ µ¿ÀÛÀº °¡Àå ½¬¿ì¸é¼­µµ ½Å¼ÓÇÏ°Ô Àü´ÞÇÒ ¼ö ÀÖ´Â ÀÇ»ç Ç¥ÇöÀÌ´Ù. ±×·¡¼­ ¸í·ÉÀ» ÀԷ¹޴ ¿ëµµ·Î ¹öÆ°ÀÌ ÁÖ·Î »ç¿ëµÈ´Ù. 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 »Ó¸¸ ¾Æ´Ï¶ó ´ëºÎºÐÀÇ ¼Ó¼ºµéµµ ½ÇÇàÁß¿¡ º¯°æÇÏ¿© »óŸ¦ Á¶Á¤ÇÒ ¼ö ÀÖ´Ù. ´çÀå ºÒÇÊ¿äÇÑ ÄÁÆ®·ÑÀº ¼û±æ ¼ö ÀÖ°í ĸ¼ÇÀ̳ª »ö»óÀ» º¯°æÇÏ¿© ÇöÀç »óŸ¦ »ç¿ëÀÚ¿¡°Ô º¸¿©Áֱ⵵ ÇÑ´Ù.