본문 바로가기
C#/WPF

WPF Today I Learn

by slowcloud_ 2025. 12. 11.

XML로 객체를 생성하고 관리하는 방법을 알았다. <Window.Resource> 내에서 C# 객체를 생성하는 것이 가능하며, 추후 데이터 컨텍스트 등에서 바인딩을 수행할 때 {Binding Resource={StaticResource RESOURCE_NAME} Path={PATH}} 등을 작성하여 객체의 정보를 바인딩할 수 있음을 알게 되었다.

 

뷰모델을 작성하면서 INotifyPropertyChanged, ICommand 등등을 구현하는 보일러플레이트 코드가 많다고 느꼈는데, Mvvm Toolkit을 활용해서 이러한 보일러플레이트들을 많이 줄일 수 있다는 것을 알게 되었다. INotifyPropertyChanged를 구현해둔 ObservableObject, 프로퍼티 변경 시 변경 이벤트를 실행하는 코드를 작성해주는 ObservableProperty 애트리뷰트, ICommand를 구현해둔 RelayCommand 등등 다양한 편의성 기능이 있는 것을 알게 되었다.

 

WPF를 활용해보기 위한 Todo 어플리케이션을 개발해보고 있는데, 아직 C#에서 사용하는 STL들과 주로 사용하는 외부 라이브러리 등에 대해 아는 것이 적어서 개발이 많이 느리다. 또한 뷰부터 개발해야 할지, 모델부터 개발해야 할지 갈팡질팡하고 있어서 개발 속도가 많이 느리다. AI를 통해 코드를 생성해보기도 했는데, Mvvm Toolkit에서 제공하는 기능들을 활용하는 것들을 보면서 새로운 것들을 익힐 수 있었지만, 해당 코드를 현재 솔루션에 적용하기 위해 변경하는 작업이 따로 필요해지게 되어서 코드를 생성하더라도 어느 정도 틀을 잡아둘 필요가 있다고 느껴, 우선 주로 사용하고 있는 기능들을 파악하는 용도로 사용하고 있다. 우선 모델부터 개발하는 작업을 수행해야 할 것 같다. SQLite 등을 활용할 ORM 등을 찾아보는 것도 좋을 것 같다.

'C# > WPF' 카테고리의 다른 글

XML 상에서 객체 생성하기  (0) 2025.12.16
MvvmToolkit  (0) 2025.12.16
WPF 독학  (0) 2025.12.10