내용 보기

작성자

관리자 (IP : 172.17.0.1)

날짜

2020-07-10 04:13

제목

[WPF] Generic.xaml에서 버튼 클릭 이벤트 핸들러 설정 방법


Generic.xaml에서 버튼 클릭 이벤트 핸들러 설정

공용으로 사용되는 컨트롤을 만들기 위해 Generic.xaml 에 xaml디자인 작업도중 버튼의 클릭 이벤트 핸들러를 설정할때 FrameworkElement클래스의 ApplyTemplate()메서드를 오버라이드해서 특정 버튼 이름으로 버튼을 찾아 설정 할 수 있다.

CommonControl.cs

namespace IntegratedManagementConsole.Commons
{
    using System;
    using System.Windows.Controls;
 
    public class CommonControl : UserControl
    {
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();
            Button cancelBtn = GetTemplateChild("xCancelBtn"as Button;
            cancelBtn.Click += new RoutedEventHandler(delegate(Object s, RoutedEventArgs e)
            {
                IsOpen = false;
            });
        }
    }
}
cs

위 처럼 ApplyTemplate()메서드에서 Generic.xaml 에 정의 되어 있는 버튼의 이름으로 찾아 가져오고 해당 버튼에 클릭 이벤트 핸들러를 설정 할 수 있다.

출처1

출처2