UIElement Ŭ·¡½ºÀÇ Visibility ¼Ó¼ºÀº ÄÁÆ®·ÑÀÇ º¸ÀÓ ¿©ºÎ¸¦ ÁöÁ¤ÇÑ´Ù. ÄÁÆ®·ÑÀ» ÀÏ´Ü »ý¼ºÇØ ³õµÇ ÀϽÃÀûÀ¸·Î ȸ鿡¼ ¼û±â°í ½ÍÀ» ¶§ ÀÌ ¼Ó¼ºÀ» »ç¿ëÇÑ´Ù. º¸ÀÓ ¿©ºÎ¶ó ÇÏ¸é º¸ÀÓ, ¾È º¸ÀÓ µÑ Áß ÇϳªÀÎ °ÍÀÌ »ó½ÄÀûÀÌÁö¸¸ ÀÌ ¼Ó¼ºÀÇ °ªÀº »ó½Ä°ú´Â Á¶±Ý ´Ù¸£´Ù. ´ÙÀ½ µÎ °¡Áö ¼Ó¼º°ª Áß Çϳª¸¦ °¡Áø´Ù.
¼Ó¼º°ª |
¼³¸í |
Visible |
º¸ÀδÙ. |
Collapsed |
¼û°ÜÁö¸ç ÀÚ¸®¸¦ Â÷ÁöÇÏÁö ¾Ê´Â´Ù. |
µðÆúÆ®´Â ¹°·Ð º¸ÀÌ´Â VisibleÀ̸ç ÀÌ ¼Ó¼ºÀ» ¹Ù²ÙÁö ¾Ê´Â ÇÑ ¹èÄ¡ÇÑ ¸ðµç ÄÁÆ®·ÑÀº ȸ鿡 ³ªÅ¸³´Ù. º¸ÀÌ´Â µ¿¾ÈÀº »ç¿ëÀڷκÎÅÍ ÀÔ·ÂÀ» ¹Þ¾ÆµéÀ̸ç Æ÷Ä¿½ºµµ ¹ÞÀ» ¼ö ÀÖ´Ù. CollapsedÀÏ ¶§´Â ´Ü¼øÈ÷ ¼û±â¸¸ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ÀÚ¸®µµ Â÷ÁöÇÏÁö ¾Ê¾Æ ¿ÏÀüÈ÷ »ç¶óÁø °Íó·³ Ãë±ÞµÈ´Ù. ÀÌ ¼Ó¼ºÀÇ Á¤È®ÇÑ È¿°ú´Â ½ºÅà Æгο¡ ÀÖÀ» ¶§ ¸íÈ®ÇÏ°Ô ³ªÅ¸³´Ù. ´ÙÀ½ ¹èÄ¡¸¦ º¸ÀÚ.
Visibility1
<phone:PhoneApplicationPage
x:Class="Visibility1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Text="Visibility1" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel Background="Blue">
<Button Content="111" />
<Button Content="222" Visibility="Collapsed"/>
<Button Content="333" />
</StackPanel>
</Grid>
</Grid>
</phone:PhoneApplicationPage>
¼öÁ÷ ½ºÅà Æгο¡ 3°³ÀÇ ¹öÆ°À» ¹èÄ¡ÇÏµÈ °¡¿îµ¥ ¹öÆ°ÀÇ º¸À̱⠻óŸ¦ Collapsed·Î ÁöÁ¤Çß´Ù. °¡¿îµ¥ ¹öÆ°ÀÌ Àá½Ã ¼û±â¸¸ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¿ø·¡ ¾ø¾ú´ø °Íó·³ ¾Æ¿¹ »ç¶óÁ® ¹ö¸®¸ç ¾Æ·¡ÂÊÀÇ ¼¼ ¹ø° ¹öÆ°ÀÌ À§·Î ¿Ã¶ó¿Í ºó ÀÚ¸®¸¦ ¸Þ¿î´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½ ¿ÞÂÊ ±×¸²°ú °°´Ù.
½ºÅà ÆгÎÀº Â÷Àϵ带 Â÷°î Â÷°î ¹èÄ¡Çϴµ¥ Collapsed »óÅÂÀÇ ÄÁÆ®·Ñ¿¡°Ô´Â ¾Æ¿¹ ÀÚ¸®¸¦ ¹èÁ¤ÇÏÁö ¾Ê°í ¿ÏÀüÈ÷ ¹«½ÃÇØ ¹ö¸°´Ù. ¸¸¾à ¿À¸¥ÂÊ ±×¸²Ã³·³ °¡¿îµ¥ ¹öÆ°ÀÌ ÀϽÃÀûÀ¸·Î Åõ¸íÇØÁø °Íó·³ ÇÏ°í ½Í´Ù¸é Visibility ¼Ó¼ºÀ¸·Î ¼û±â´Â °ÍÀÌ ¾Æ´Ï¶ó Opacity ¼Ó¼ºÀ¸·Î Åõ¸í»öÀ¸·Î ¸¸µé¾î¾ß ÇÑ´Ù. Opacity ¼Ó¼ºÀº ÄÁÆ®·ÑÀÇ Åõ¸íµµ¸¦ ÁöÁ¤Çϸç 1ÀÌ¸é ºÒÅõ¸íÀÌ°í 0À̸é Åõ¸íÀ̸ç 0.5ÀÌ¸é ¹ÝÅõ¸íÀÌ´Ù.
Visibility2
<phone:PhoneApplicationPage
x:Class="Visibility2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Text="Visibility2" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel Background="Blue">
<Button Content="111" />
<Button Content="222" Opacity="0"/>
<Button Content="333" />
</StackPanel>
</Grid>
</Grid>
</phone:PhoneApplicationPage>
°¡¿îµ¥ ¹öÆ°ÀÇ Opacity ¼Ó¼º¿¡ 0À» ´ëÀÔÇÏ¿© ¹öÆ°À» ¿ÏÀüÈ÷ Åõ¸íÇÏ°Ô ¸¸µé¾ú´Ù. ÀÌ·¸°Ô ÇÏ¸é º¸À̱â´Â ÇÏÁö¸¸ Åõ¸íÇϹǷΠȸ鿡 ³ªÅ¸³ªÁö´Â ¾Ê´Â´Ù. Åõ¸íÇÒ »Ó ¼û°ÜÁø °ÍÀº ¾Æ´Ï¹Ç·Î ÀÚ¸®´Â Â÷ÁöÇϸç 333 ¹öÆ°ÀÌ Åõ¸íÇÑ 222 ¹öÆ° ¾Æ·¡ÂÊ¿¡ ¹èÄ¡µÈ´Ù.
±×·¸´Ù¸é Åõ¸íÇÑ »óÅÂÀÏ ¶§ »ç¿ëÀÚ°¡ ÀÌ ¹öÆ°À» Ŭ¸¯ÇÏ¸é ¾î¶² ÀÏÀÌ ¹ú¾îÁú±î. ¹öÆ°¿¡ ´ëÇÑ À̺¥Æ® Çڵ鷯¸¦ ÀÛ¼ºÇÏ¿© ¹öÆ° Ŭ¸¯½Ã ¸Þ½ÃÁö ¹Ú½º¸¦ ¿¾î º¸ÀÚ. µðÀÚÀÎ ºä¿¡¼ °¡¿îµ¥ ¹öÆ°À» ´õºíŬ¸¯Çϸé À̺¥Æ® Çڵ鷯°¡ »ý¼ºµÇ°í XAML ÆÄÀÏ¿¡ À̺¥Æ®¿Í Çڵ鷯¸¦ ¿¬°áÇÏ´Â ±¸¹®ÀÌ ÀÛ¼ºµÈ´Ù. ºó Çڵ鷯 ¸Þ¼µå¿¡ ´ÙÀ½ Äڵ带 ÀÛ¼ºÇÑ´Ù.
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("¹öÆ°À» Ŭ¸¯ÇÏ¿´½À´Ï´Ù.");
}
¹öÆ° Ŭ¸¯½Ã ¸Þ½ÃÁö ¹Ú½º¸¦ ¿¾î¶ó´Â ¸í·ÉÀÌ´Ù. À̺¥Æ® Çڵ鷯 ÀÛ¼º¹ý¿¡ ´ëÇؼ´Â Â÷ÈÄ ÀÚ¼¼È÷ ¹è¿ï °ÍÀÌ´Ù. Äڵ带 ÀÛ¼ºÇÑ ÈÄ ½ÇÇàÇØ º¸¸é ºñ·Ï Åõ¸íÇؼ ¾È º¸ÀÌÁö¸¸ Ŭ¸¯ ÀԷ¿¡ ¹ÝÀÀÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. 111°ú 333 ºÎ±ÙÀÇ ºó ¿µ¿ªÀ» Ŭ¸¯Çϸé È¸é »ó´Ü¿¡ ¸Þ½ÃÁö ¹Ú½º°¡ ³ªÅ¸³´Ù.
¸¸¾à Åõ¸íÇÏ°Ô ¸¸µé°í »ç¿ëÀÚÀÇ ÀԷµµ ¹ÞÁö ¾ÊÀ¸¸£¸é IsHitTestVisible ¼Ó¼ºÀ» »ç¿ëÇÑ´Ù. ÀÌ ¼Ó¼º¿¡ false¸¦ ´ëÀÔÇÏ¸é º¸ÀÓ ¿©ºÎ¿¡ »ó°ü¾øÀÌ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹ÞÁö ¾Ê´Â´Ù. ¼¼ ¹ø° ¿¹Á¦¸¦ ¸¸µé¾î À̸¦ È®ÀÎÇØ º¸ÀÚ.
Visibility3
<phone:PhoneApplicationPage
x:Class="Visibility3.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Text="Visibility3" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel Background="Blue">
<Button Content="111" />
<Button Content="222" Opacity="0" Click="Button_Click" IsHitTestVisible="False" />
<Button Content="333" />
</StackPanel>
</Grid>
</Grid>
</phone:PhoneApplicationPage>
================================== 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 Visibility3
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("¹öÆ°À» Ŭ¸¯ÇÏ¿´½À´Ï´Ù.");
}
}
}
Âü°í·Î ¼Ò½º ¸®½ºÆ®ÀÇ °¡¿îµ¥¿¡ ÀÖ´Â ==CS== ÁÙÀº XAML ÆÄÀÏ°ú CS ÆÄÀÏÀ» ±¸ºÐÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. ±¸ºÐ¼± À§ÂÊÀÌ MainPage.xamlÀÌ¸ç ¾Æ·¡ÂÊÀº MainPage.xaml.cs ÆÄÀÏÀ» ´ýÇÁÇØ ³õÀº °ÍÀÌ´Ù. ÀÌ µÑÀº ÆÄÀÏÀº ´Ù¸£Áö¸¸ ÇÑ ÆäÀÌÁöÀÇ ¸ð¾ç°ú µ¿ÀÛÀ» Ç¥ÇöÇÑ´Ù´Â ¸é¿¡¼ °ü·Ã¼ºÀÌ ÀÖ´Â ÆÄÀÏÀ̹ǷΠÇÑ ¸®½ºÆ®¿¡ °°ÀÌ ´ýÇÁÇϱâ·Î ÇÑ´Ù.
Visibility2 ¿¹Á¦¿Í °ÅÀÇ µ¿ÀÏÇ쵂 °¡¿îµ¥ ¹öÆ°ÀÇ IsHitTestVisible ¼Ó¼ºÀÌ False¶ó´Â Á¡¸¸ ´Ù¸£´Ù. ÀÌÁ¦ ½ÇÇàÇØ º¸¸é °¡¿îµ¥ ¹öÆ°Àº º¸ÀÌÁö ¾Ê°í Ŭ¸¯ ÀԷ¿¡µµ ¹ÝÀÀÇÏÁö ¾ÊÁö¸¸ ÀÚ¸®´Â Â÷ÁöÇÑ´Ù. ¹èÄ¡´Â ±×´ë·Î À¯ÁöÇÑ Ã¤·Î Àá½Ã ¼û±â°í¸¸ ½Í´Ù¸é ÀÌ ¿¹Á¦¿Í °°Àº ¹æ¹ýÀ» »ç¿ëÇÑ´Ù.
º¸ÀÓ ¿©ºÎ, ÀÚ¸® Â÷Áö ¿©ºÎ, »ç¿ëÀÚ ÀÔ·Â ¿©ºÎ µîÀº ¼¼ °¡Áö ¼Ó¼ºÀ» Àß Á¶ÇÕÇؼ Ç¥ÇöÇØ¾ß ÇÑ´Ù. ½Ç¹ö¶óÀÌÆ®ÀÇ ½´ÆÛ¼ÂÀÎ WPF¿¡´Â Visibility ¼Ó¼º¿¡ ÀϽÃÀûÀ¸·Î ¼û±â´Â HiddenÀ̶ó´Â ¼Ó¼º°ªÀÌ ÀÖÁö¸¸ ¸ð¹ÙÀÏ¿ë ½Ç¹ö¶óÀÌÆ®¿¡´Â ÀÌ ¼Ó¼º°ªÀÌ ¾øÀ¸¹Ç·Î ´Ù¼Ò º¹ÀâÇÏ´Ù. º¸´Ù½ÃÇÇ WPF¿¡ Àͼ÷ÇÑ »ç¶÷ÀÌ¶óµµ À©µµ¿ìÆù¿¡¼´Â ¾î¶² Á¡ÀÌ ´Ù¸¥Áö¸¦ Àß ¾Ë¾Æ µÎ¾î¾ß ÇÑ´Ù.
UIElement¿¡´Â º¸À̱⠻óŸ¦ ÁöÁ¤ÇÏ´Â Visibility ¼Ó¼º ¿Ü¿¡µµ ÇöÀç º¸ÀÌ´Â »óÅÂÀÎÁö¸¦ Á¶»çÇÏ´Â IsVisible À̶ó´Â Àбâ Àü¿ëÀÇ ¼Ó¼ºµµ ÀÖ´Ù. ÀÌ µÎ ¼Ó¼ºÀº ºñ½ÁÇÑ °Í °°Áö¸¸ ¿ëµµ°¡ ´Ù¸£´Ù. Visibility ¼Ó¼ºÀº ÄÁÆ®·Ñ ±× ÀÚü°¡ º¸ÀÌ´ÂÁö¸¦ °¡¸®Å³ »ÓÀÌÁö¸¸ IsVisible ¼Ó¼ºÀº ºÎ¸ðÀÇ »óűîÁö °í·ÁÇÏ¿© º¸ÀÓ ¿©ºÎ¸¦ Á¶»çÇÑ´Ù. ÄÁÆ®·Ñ ÀÚü´Â º¸ÀÌ´Â »óÅÂ¶óµµ ºÎ¸ð°¡ ¼û°ÜÁö¸é ÄÁÆ®Åçµµ °°ÀÌ ¼û°ÜÁö´Âµ¥ À̶§´Â Visibility ¼Ó¼º°ú IsVisible ¼Ó¼ºÀÌ ´Þ¶óÁú ¼öµµ ÀÖ´Ù.