WPF Study 2회 후기 | 이재웅

안녕하세요. 이재웅입니다!
2월 18일에 있었던 WPF 스터디 2회 후기를 남겨봅니다.

인원

1회에 오셨던 분들께서 거의 모두 다시 참여해주셔서 정말 감사했습니다.
이번에는 저를 포함해 총 24명의 인원이 함께 했습니다.

image

후원

1회 때 김태균님의 커피 후원에 이어 (주)커넥트시스템의 백승찬대표님 께서 스낵과 음료를 지원해 주셨습니다. 그리고 3회 때도 다시 한번 지원해주실 예정입니다. :smile:

그리고 또 감사하게도 많은 분들께서 대관료 후원도 아낌없이 지원해주시고 계셔서 저도 금전적인 부담을 덜고 잘 진행할 수 있었습니다.

장소

이번에도 1회와 마찬가지로 가산 소규모 오프라인 강의실에서 진행을 했습니다. 이번에도 마찬가지로 서울, 경기도, 대전 그리고 부산에서 까지 오셨습니다. 이제 어느 온라인으로도 진행을 해야겠다는 압박감이 아주 크게 다가왔습니다… ㅠㅠ 특히 멀리서 오신 분들에게도 다시 한번 감사드립니다.

내용

이번 회차에서는 지난 회차와는 달리 조금은 한숨 소리가 많이 들렸다고 합니다. (저는 하나도 못 들었어요…ㅠㅠ)

먼저 ListBox를 아주 딥하게 파헤쳐 봤습니다.

ListBox는 ItemsControl을 상속 받으며 GetContainerForItemOverride()를 활용하는 대표적인 컨트롤 중 하나입니다. ListBox는 컨트롤의 특성 상 한 행을 표현하는 ListBoxItem을 보좌하는 역할이 큰 컨트롤인데요. 이와 비슷한 컨트롤은 TreeView, TabControl, ListView, DataGrid 등이 있죠. 여기서 핵심은 ListBox와 ListBoxItem이 각각 어떤 역할을 하는지 정확히 이해하고 사용하는 것입니다. 사실상 중요한 핵심 템플릿들은 모두 ListBoxItem에 있지요. 그 Template, ContentTempate은 ListBox에서 각각 ItemContainerStyle과 ItemTempalate으로 접근 할 수 있도록 연결되어있고요. 이 대목 기억나시죠? WPF에서 엄청난 비중을 차지하는 ListBox/ListBoxItem의 모든 Property와 그 연관되는 관계를 정확히 알게 되었을 때 비로소 내가 만들고자 하는 모든 UI를 표현할 수 있을 것입니다!!

그리고 ListBox 개념이 그대로 ComboBox, TreeView, TabControl 등의 ItemsControl 기반의 활용도 높은 컨트롤을 손쉽게 제어할 수 있게 됩니다. 또 다양한 컨트롤을 직접 창조할 수 있겠죠?

CustomControl을 기반으로 Binding과 Event를 더욱 더 강력하게 보완해줄 DependencyProperty와 Tunneling, 그리고 ICommand 연계까지를 살펴보았고 이를 응용하여 Beheiver를 대체할 수 있는 방법까지도 함께 확인했습니다. 그리고 그 과정에서 ICommand가 내부적으로 동작하는 방식과 인터페이스 구현 부분까지도 살짝 만들어봤었죠.

그 외에도 INotifyPropertyChanged를 통한 베이직한 OnPropertyChanged 구현 부터 [CallerMemeberName] 어트리뷰트를 통한 Property 이름 생략 방법, 그리고 set 부분을 한 줄로 표현하기 위한 ref 키워드까지 확인해보며 요즘 트랜디한 Mvvm 툴킷들의 Mvvm 처리 방식에 대해서도 함께 확인해보았습니다.

그 밖에도 생각나는 것들이 몇 가지 있는데 제가 빼먹은 내용들이 있다면 댓글로 남겨 주셔도 정말 좋을 것 같습니다!!

3회 예고

3회는 TreeView와 함께 CommunityToolkit.Mvvm, Prism이 준비되어 있습니다. ListBox와 TreeView가 얼마나 같은 개념인지 제대로 한번 확인해볼 수 있습니다. 그리고 이번에는 저번 회차에서 하지 못한 CommunityToolkit.Mvvm과 Prism을 제대로 살펴볼 기회입니다!

끝으로

제가 준비한 WPF 스터디 2회 후기 내용은 여기까지입니다.
주말임에도 이렇게 모여주신 저를 포함한 모든 분들께 다시 한번 감사드리며 많은 응원 부탁드립니다!!

감사합니다. 이재웅 드림

ps. 감사하게도 별다른 비즈니스 홍보나 어떠한 이익이 없음을 아심에도 불구하고 후원해주시는 기업을 비롯한 개인, 참여와 후원해주신 모든 분들께 다시 한번 감사드립니다.

12개의 좋아요

아~~ 꼭 알고 싶은 내용이었네요. 부산에서도 오셨다고 하니, 대구는 음…
참석은 못했지만 성의와 정성에 감사드립니다. (온라인… 온라인… ^^)

4개의 좋아요

@dhryu 하루빨리 준비해볼게요!! ㅠㅠ :+1:

1개의 좋아요