코드를 최소화 하는 MVVM 라이브러리를 제작중입니다.

많은 MVVM 라이브러리가 존재하는데 왜 만들까 생각할 수도 있는데 딱 맘에 드는 MVVM 라이브러리를 찾을 수 없어 결국 직접 만들고 있습니다.

현재 구현된 기능은 View의 컨트롤 이름과 동일한 ViewModel의 메서드, KeyGesture, MenuItem의 InputKeyGesture를 자동 바인딩하는 기능입니다.
KeyGesture는 이름이 컨트롤 + 특정 접미사와 동일하면 자동 바인딩됩니다.
바인딩하기 위한 어떠한 추가 코드도 필요하지 않습니다.

원래는 속성도 자동 바인딩을 구현했으나 득보다 실이 많아 기능을 제거했고 지금은 PropertyChanged.Fody에서 지원하는 Auto 프라퍼티의 자동 OnPropertyChanged 지원을 구현 중입니다.

PropertyChanged.Fody와는 다르게 아무런 추가 코드 없이 구현할 생각이고 컴파일 시 자동으로 추가되는 코드 또한 PropertyChanged.Fody보다 훨씬 적은 추가 코드만 생성되게 할 생각입니다.

일단 View와 ViewModel 간의 바인딩에 필요한 코드를 최소화하는 데 집중한 이후 나머지 MVVM애 필요한 기능들은 개인 프로젝트를 개발하면서 추가할 생각입니다.

11개의 좋아요

@FrontGame 헛 기대됩니다.
GitHub, Nuget 나오시면 꼭 알려주세요!! :smile:

응원드립니다!!

기대되네요 뭔가 mvvm 라이브러리는 크게 정리가 안되있는것 같은데

1개의 좋아요

Github, Nuget에 올리면 꼭 여기 올리겠습니다.
감사합니다. ^^

1개의 좋아요

C#에서 공식적으로 좀 더 간결하게 MVVM을 지원해줬으면 좋지 않았을까 생각합니다.
사람들이 뭔가 맘에 안드니 MVVM 라이브러리들이 범람(?)하는게 아닐까 합니다.

2개의 좋아요