본문 바로가기

XAMARIN

[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..
[Xamarin] ResourceDictionary 관리 ResourceDictionary Xamarin 개발에서 Resource Dictionary는 반드시 사용하게 되는 클래스입니다. 특히 XAML 에서 Style 이나 IValueConverter, ContentTemplate, DataTemplate 등을 사용할 때 Resource Dictionary 를 사용하면 다른 XAML에서 공유하여 사용할 수 있습니다. 문제는 ResourceDictionary 를 분리하거나 합치는 방법을 모르면 하나의 파일 안에 모든 XAML 리소스를 관리해야 해서 Resoucre Dictionary가 매우 복잡해집니다. 이를 해결하기 위해 Resource Dictionary 가 다른 Resource Dictionary 를 참조하는 방법을 알려드리도록 하겠습니다. 아래 코드 한 ..
[Xamarin] 플랫폼 종속 코드 작성하는 방법 플랫폼에 종속적인 코드 작성하는 방법 Xamarin 은 플랫폼에 독립적인 UI를 만들 수 있도록 도와주기는 하지만, 플랫폼 별로 다른 이미지나 코드를 적용해야 하는 순간이 있습니다. 이때 플랫폼 별로 다른 값을 적용할 수 있는 방법을 알려드리도록 하겠습니다. 플랫폼 별 Code if (Device.RuntimePlatform == Device.iOS) { Padding = new Thickness(0, 20, 0, 0); } Devce.RuntimePlatform 을 활용해서 플랫폼 별로 다른 코드를 실행시킬 수 있습니다. Device 가 구분할 수 있는 플랫폼은 아래 목록과 같습니다. Device.Android Device.iOS Device.macOS Device.WPF Device.UWP Devic..