inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

WPF (.NET Core, C#, 자막제공)

2) WPF에서의 Event

이벤트에 대해서 감사합니다.

113

Doyeon Noh

작성한 질문수 5

0


가장 기초적인 부분을...몰랐네요

가끔 원하는 것처럼 이벤트가 작동하지 않을 때가 있었는데,,,
그게 routing 시키는 걸 e.Handled를 true로 처리하면 된다는 것을 알았습니다.

C# 의 WPF의 이벤트는 복잡하네요..
Vue 같아요..;;;

MVVM패턴으로도 알려준 이벤트에 대한 특성은 참고해서 작업하면 되는걸까요?

C#

답변 2

0

개발자Park

안녕하세요.개발자park입니다.

MVVM패턴으로도 알려준 이벤트에 대한 특성은 참고해서 작업하면 되는걸까요?

넵!

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Doyeon Noh님.

WPF의 이벤트 시스템과 MVVM 패턴에 대한 질문을 주셨군요. WPF의 이벤트는 다른 프레임워크와는 다소 다르게 작동하는 부분이 있어 생소할 수 있습니다. 특히, RoutedEvent는 이벤트가 전파되는 방식에서 차이가 나타납니다. e.Handled를 통해 이벤트 전파를 중지할 수 있다는 점을 깨달으셨다니 다행입니다.

WPF에서 MVVM 패턴을 사용하면서도 이벤트를 다루실 때 몇 가지 알아두면 좋은 점들을 요약해 드릴게요.

WPF 이벤트와 MVVM:

  1. RoutedEvent: WPF에서는 이벤트가 하나의 요소에서 시작하여 해당 요소의 상위 요소로 전파될 수 있는 RoutedEvent가 있습니다. 이벤트가 전파되는 동안 e.Handled 속성을 true로 설정하여 전파를 중지할 수 있습니다.

  2. MVVM 패턴: ViewModel에서는 이벤트 핸들러를 직접 사용하기보다는 Command 패턴을 이용하는 것이 일반적입니다. 이렇게 하면 UI와 비즈니스 로직이 분리되어 테스트와 유지보수에 유리합니다.

  3. Command: WPF에서 제공하는 ICommand 인터페이스는 Button 클릭과 같은 이벤트를 처리하는 데 사용됩니다. 이를 사용하여 UI 요소와 ViewModel의 명령을 바인딩할 수 있습니다.

  4. EventToCommand: MVVM 프레임워크 중 일부는 이벤트를 커맨드로 통합하는 EventToCommand 기능을 제공합니다. 이를 통해 XAML에서 이벤트를 처리하는 코드를 간결하게 유지할 수 있습니다.

기존의 WPF 강의에서도 이러한 이벤트 처리와 MVVM 패턴에 대해 다루고 있으니, 관련 내용을 복습하시면 더욱 이해에 도움이 될 것입니다.

질문자님께서 더 깊은 이해를 원하신다면 이러한 내용들을 참고하시기 바라며, 추가로 궁금한 점이 있으시면 계속해서 질문해 주세요. 지식공유자님께서도 더욱 상세한 답변을 제공해주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의

0

12

1

page와 windows 사용구분

0

95

2

Microsoft 패키지 설치 후 Exception 문제

0

129

2

MSSQL 2022 버전을 다운로드해도 되나요?

0

528

7

3강 이미지삽입에서 오류가나옵니다.

0

331

2

StartupUri

0

125

1

RelayCommand에서 CanExecute 리턴값 질문

0

221

1

UserControl 관련

0

251

1

sql 설치문의

0

295

1

PropertyChanged/RelayComman 관련

0

341

1

SQL설치관련

0

360

1

3강 .NET 이미지 삽입 방법도 알려주세요

1

250

1

버튼 클릭시 progressBar가 100으로 채워지지 않는 현상

0

290

1

7강부터 어려워집니다.

0

400

1

프로젝트 생성시 질문

0

360

1

6) Trigger - Property 설정 문의

0

421

1

유저컨트롤 관련 질문

0

815

2

<d:Button /> vs <Button/>

0

541

2

릴레이커맨드 비동기로직이 아니어도 asyncrelaycommand로 icommand 만드나요?

1

523

1

소스코드 제공해주세요

0

428

1

섹션 1. WPF의 3) 대표적인 컨트롤러 사용 강의 건에 대하여...

0

399

1

소스코드

0

353

1

CellTemplate에 새로만들기가 안떠요

0

350

1

궁금해서 여쭤봅니다

0

626

1