첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ CommandBinding 클래스 사용하기

----------------------------------------------------------------------------------------------------


TestProject.zip


MainWindow.cs

 

 

using System;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Input;

using System.Windows.Media;

 

namespace TestProject

{

    /// <summary>

    /// 메인 윈도우

    /// </summary>

    public class MainWindow : Window

    {

        //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor

        ////////////////////////////////////////////////////////////////////////////////////////// Public

 

        #region 생성자 - MainWindow()

 

        /// <summary>

        /// 생성자

        /// </summary>

        public MainWindow()

        {

            Title = "CommandBinding 클래스 사용하기";

 

            Width  = 800;

            Height = 600;

 

            FontFamily = new FontFamily("나눔고딕코딩");

            FontSize   = 16;

 

            Button button = new Button();

 

            button.HorizontalAlignment = HorizontalAlignment.Center;

            button.VerticalAlignment   = VerticalAlignment.Center;

            button.Padding             = new Thickness(5);

            button.Command             = ApplicationCommands.Paste;

            button.Content             = ApplicationCommands.Paste.Text;

 

            Content = button;

 

            CommandBindings.Add

            (

                new CommandBinding

                (

                    ApplicationCommands.Paste,

                    Paste_Executed,

                    Paste_CanExecute

                )

            );

        }

 

        #endregion

 

        //////////////////////////////////////////////////////////////////////////////////////////////////// Method

        ////////////////////////////////////////////////////////////////////////////////////////// Static

        //////////////////////////////////////////////////////////////////////////////// Public

 

        #region 프로그램 시작하기 - Main()

 

        /// <summary>

        /// 프로그램 시작하기

        /// </summary>

        [STAThread]

        public static void Main()

        {

            Application application = new Application();

 

            application.Run(new MainWindow());

        }

 

        #endregion

 

        ////////////////////////////////////////////////////////////////////////////////////////// Instance

        //////////////////////////////////////////////////////////////////////////////// Protected

 

        #region 마우스 다운시 처리하기 - OnMouseDown(e)

 

        /// <summary>

        /// 마우스 다운시 처리하기

        /// </summary>

        /// <param name="e">이벤트 인자</param>

        protected override void OnMouseDown(MouseButtonEventArgs e)

        {

            base.OnMouseDown(e);

 

            Title = "CommandBinding 클래스 사용하기";

        }

 

        #endregion

 

        //////////////////////////////////////////////////////////////////////////////// Private

 

        #region 붙여넣기 실행시 처리하기 - Paste_Executed(sender, e)

 

        /// <summary>

        /// 붙여넣기 실행시 처리하기

        /// </summary>

        /// <param name="sender">이벤트 발생자</param>

        /// <param name="e">이벤트 인자</param>

        private void Paste_Executed(object sender, ExecutedRoutedEventArgs e)

        {

            Title = Clipboard.GetText();

        }

 

        #endregion

        #region 붙여넣기 실행 가능 여부 체크시 처리하기 - Paste_CanExecute(sender, e)

 

        /// <summary>

        /// 붙여넣기 실행 가능 여부 체크시 처리하기

        /// </summary>

        /// <param name="sender">이벤트 발생자</param>

        /// <param name="e">이벤트 인자</param>

        private void Paste_CanExecute(object sender, CanExecuteRoutedEventArgs e)

        {

            e.CanExecute = Clipboard.ContainsText();

        }

 

        #endregion

    }

}

 

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요