무효 클릭 IP 추적 중...
c#/wpf

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법

꼬예 2022. 5. 23.
[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법

이번 시간에는 아래와 같이 클릭 버튼을 눌렀을때 특정 텍스트가 아래에 출력되는 방법에 대해 알아보도록 하겠습니다.

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법

 

 

 

1) 기본 레이아웃 코드

 

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 1) 기본 레이아웃 코드

TextBlock에 두꺼운 줄을 넣기위해 Border로 감싼 형태로 레이아웃을 구성해보았습니다.

 

2) 클릭 이벤트 추가

(1) 첫번째 방법

//MainWindow.xaml

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 2) 클릭 이벤트 추가 - undefined - (1) 첫번째 방법

//MainWindow.xaml.cs(코드비하인드)

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 2) 클릭 이벤트 추가 - undefined - (1) 첫번째 방법

 

Click 프러퍼티Button_Click이라는 이름의 함수를 만듭니다.

자동 완성 기능을 이용해 Tab을 누르면 코드비하인드 단에 자동적으로 함수가 생성되는데요.

대신 body 내용물은 수정해줘야겠지요.

 

저는 바디부분에 this.textbox.Text ="넣고싶은 내용" 형태로 코드를 수정해주었습니다.

 

여기서 this.textbox는 x:Name에서 우리가 원하는 임의의 명칭을 넣어주어서 사용가능한것입니다.

(저는 textbox라는 명으로 지었습니다.)

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 2) 클릭 이벤트 추가 - undefined - (1) 첫번째 방법

 

그리고 .Text는 TextBlock내에 값을 출력하기 위한 프러퍼티라고 보시면됩니다.

 

만약 디폴트로 특정 글자가 나오게 하고싶다면, 아래와 같이 미리 세팅하는것도 가능합니다.

여기서도 Text라는 프러퍼티를 사용했죠?

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 2) 클릭 이벤트 추가 - undefined - (1) 첫번째 방법

 

이렇게 작성 후 윈도우를 실행하면 애초부터 해당 텍스트가 적혀있는 상태로 출력이 됩니다.

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 2) 클릭 이벤트 추가 - undefined - (1) 첫번째 방법

 

 

(2) 두번째 방법

이번에는 xaml에서 명시적으로 적혀있는 클릭 이벤트 부분을 아예 지웁니다.

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 2) 클릭 이벤트 추가 - undefined - (2) 두번째 방법

 

대신 x:Name에 우리가 원하는 명(여기서는 "button")을 지어주고, 해당 이벤트는 코드비하인드단(c#코드)에서 작성을합니다.

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 2) 클릭 이벤트 추가 - undefined - (2) 두번째 방법

 

생성자 위치에 아래와 같이 코드를 작성해줍니다.

함수명은 마음대로 적으셔도 되는데요.

(저는 Button_Click2라는 명으로 작성했습니다.)

(+=는 Click이벤트에 해당 버튼 함수를 추가해준다는 뜻입니다.)

 

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 2) 클릭 이벤트 추가 - undefined - (2) 두번째 방법

 

아직은 함수명만 지었지 함수가 생성이 안되어 있어서 빨간줄이 그어져 있는데요.

아래와 같이 빨간줄에 커서를 대면 메서드 생성이 가능합니다.

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 2) 클릭 이벤트 추가 - undefined - (2) 두번째 방법

 

마찬가지로 함수 바디 코드는 1번에서 했던 식으로 그대로 작성해주면 됩니다.

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 2) 클릭 이벤트 추가 - undefined - (2) 두번째 방법

 

3) TextBlock을 Label로 바꾼다면?

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 3) TextBlock을 Label로 바꾼다면?

만약 우리가 출력하고 싶은 엘리먼트가 TextBlock 이 아닌 Label이라면 코드가 어떻게 달라질까요?

 

달라지는건 기존에 사용했던 프러퍼티명인 Text가 아닌 Content로 변경해주면 됩니다.

[c# wpf] 버튼 클릭 => 텍스트 출력 2가지 방법 - 3) TextBlock을 Label로 바꾼다면?

  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글