Programming/C# - Window

C#/ 이벤트핸들러와 'is'

esoog Polaris 2024. 9. 20. 15:54
반응형

# 이벤트 핸들러의 파라미터는 다양하다. 참고

private void InitButtonEvent()
        {
            btnMemo.Click += ClickEventHandler;
            btnDataGrid.Click += ClickEventHandler;
            btnFileStream.Click += ClickEventHandler;
            btnNetwork.Click += ClickEventHandler;
        }


        private void ClickEventHandler(object sender, RoutedEventArgs e)
        {
            try
            {
                if (sender is Button btn)
                {
                    // 버튼 페이지 분기문
                    switch (btn.Name)
                    {
                        case "btnMemo":
                            frame.Source = new Uri("/View/MemoPage.xaml", UriKind.Relative);
                            break;
                        case "btnDataGrid":
                            frame.Source = new Uri("/View/DataGridPage.xaml", UriKind.Relative);
                            break;
                        case "btnFileStream":
                            frame.Source = new Uri("/View/FileStreamPage.xaml", UriKind.Relative);
                            break;
                        case "btnNetwork":
                            frame.Source = new Uri("/View/NetworkPage.xaml", UriKind.Relative);
                            break;
                    }
                }
            }
            catch (Exception ex)
            {
                // Debug
            }
        }

 

 

 

 

# 여기서  

if (sender is Button btn) 이 구문의 'is' 사용:

타입 확인과 동시에, 형변환 변수로 사용하겠다는 의미.

 

728x90

'Programming > C# - Window' 카테고리의 다른 글

C#/ WPF 3. 관리자 권한 사용  (1) 2024.09.20
C#/ WPF 2. 프레임 태그 사용  (1) 2024.09.20
C#/ WPF 1. App.xaml  (0) 2024.09.04
C#/ WPF 시작하기(구성)  (0) 2024.09.02
C# 코드 리뷰 - 1  (0) 2024.04.26