Silverlight 2 Controls Review - ToggleButton

ToggleButton 컨트롤은 2가지의 기능을 수행할때, 현재의 상태를 유지하거나 해제할때 사용합니다..Silverlight 1.x 버전때는 지원되지 않았으며  Silverlight 2에 새롭게 추가된 컨트롤입니다. 기존에는 주로 꼼수를 만들어 기능을 구현합니다. ToggleButton 컨트롤이 추가되면서 기존에 삽질해가며 만들었던 수고를 덜 수 있게 되었습니다.

Xaml에서 ToggleButton 컨트롤의 기본적인 구문입니다.

<ToggleButton x:Name="tgMessage" />



ToggleButton의 현재 눌려진 상태를 IsChecked로 체크하며 프로퍼티 값은 Bool이며 Ture, False 값을 줄 수 있습니다.

<ToggleButton x:Name="tgMessage" Content="Toggle" IsChecked="True"/>



다음 예제는 ToggleButton의 IsChecked 프로퍼티를 이용하여 현재 ToggleButton의 상태를 True/False로 나타냅니다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지


Xaml Code

<UserControl x:Class="ControlTest8.Page"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    Width="400" Height="300">

    <Grid x:Name="LayoutRoot" Background="White">

        <ToggleButton Margin="115,44,117,0" VerticalAlignment="Top" Height="33"

                      x:Name="tgMessage" Content="Toggle" Click="tgMessage_Click"

                      IsChecked="True"/>

    </Grid>

</UserControl>


C# Code

using System.Windows;

using System.Windows.Controls;

 

namespace ControlTest8

{

    public partial class Page : UserControl

    {

        public Page()

        {

            InitializeComponent();

        }

 

        private void tgMessage_Click(object sender, RoutedEventArgs e)

        {

            if (tgMessage.IsChecked == true)

                MessageBox.Show("Silverlight 2 ToggleButton Good");

            else

                MessageBox.Show("Silverlight 2 ToggleButton Bed");

        }

    }

}

mediaelement_CurrentStateChanged 이벤트는 현재 동영상이 재생되는지 체크하여 Timer의 Start(), Stop() 함수를 호출합니다.
 
IsChecked 프로퍼티 값이 True면 현재 Click 유지되는 상태입니다.