본문 바로가기

MvvmCross

[Xamarin] MvvmCross 데이터 바인딩 MvvmCross 데이터 바인딩 데이터 바인딩은 MVVM 패턴에서 제일 핵심적인 기능입니다. 데이터 바인딩을 통해 View와 ViewModel 이 서로의 참조 변수를 가지지 않는 형태로 느슨한 결합을 유지할 수 있습니다. MVVM 패턴을 의도했지만 데이터 바인딩을 사용하지 않는다면 MVVM 패턴을 활용하지 못하는 겁니다. MvvmCross에서 데이터 바인딩을 구현하는 순서는 아래와 같습니다. ViewModel에 속성이 변경될 때마다 이벤트를 발생시키도록 구현한다. View에 ViewModel을 연결한다. View 속성에 ViewModel 속성을 Binding 한다. 1. ViewModel에 속성이 변경될 때마다 이벤트를 발생시키도록 구현한다. 데이터 바인딩의 핵심은 ViewModel이 INotifyPro..
[Xamarin] Xamarin 프로젝트에서 MvvmCross 사용하기 Xamarin 프로젝트에서 MvvmCross 사용하기 MvvmCross 공식 문서 나름 Xamarin.Forms 에서 사용하는 방법을 알려주고 있지만 부족한 점이 많아 추가로 설명드리도록 하겠습니다. MvvmCross 샘플 중 [MvxForms] 를 참고해보시면 많은 도움이 되실 겁니다. 이 샘플을 기반으로 설명을 드리도록 하겠습니다. 1. MvxApplication 생성 제일 먼저해야 할 일은 MvxApplication 을 상속받아 Serivce 를 등록하고, 시작 ViewModel을 등록하는 작업입니다. public class CoreApp : MvxApplication { public override void Initialize() { // 모든 클래스 중 이름이 "Service" 로 끝나는 클래스..
[Xamarin] MvvmCross 소개 MvvmCross MvvmCross 는 Platform 에 상관없이 MVVM 패턴을 적용할 수 있도록 만들어진 Nuget 패키지입니다. 즉 MVVM 에서 ViewModel 을 플랫폼 독립적으로 만들 수 있게 지원해줍니다. MvvmCross를 사용하면 플랫폼에 상관없이 비지니스 로직을 만들고 플랫폼 별로 View 만 작성하면 됩니다. .NET Standard 기반을 작성되었기 때문에 모든 .NET 프로젝트에서도 사용할 수 있습니다. Xamarin WPF UWP MvvmCross 이전에는 MvvmLight이 대표적인 패키지였습니다. 하지만 시간이 흐르면서 .NET Framework 기반으로 작성된 MvvmLight 보다는 .NET Standard로 작성된 MVVM 패키지가 필요하게 되었고, MvvmCross..