3-1-3.º¸À̱⠼Ӽº

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 ¼Ó¼ºÀÌ ´Þ¶óÁú ¼öµµ ÀÖ´Ù.