Xamarin은 C#으로 작성된 크로스 플랫폼 애플리케이션을 구축할 수 있습니다. 현재 지원되는 플랫폼에는 Windows, Linux, Android 및 IOS 플랫폼이 포함됩니다. Mac 및 Ios 프로그램을 개발하려면 해당 장비가 필요합니다. Android, IOS 및 UWP 플랫폼은 Microsoft에서 지원되며 GTK#(Linux, Win7) 지원은 커뮤니티에서 제공됩니다. 자세한 내용은 Xamarin.Forms 플랫폼 지원을 참조하세요.
참고: 이 문서를 보려면 Xamarin 개발에 대한 특정 기초가 필요합니다.
Xamarin의 목표는 크로스 플랫폼 애플리케이션 개발을 달성하는 것입니다. 가장 중요한 것은 iOS 및 Android 플랫폼의 개발이므로 터치 또는 포인터 이벤트에 대해서는 비교적 완벽하지만 때로는 개발이 필요합니다. Windows와 같은 데스크톱 플랫폼에서는 키보드 키 이벤트를 얻을 수 있어야 합니다. 그래서 저는 Xamarin.Forms 컨트롤에서 키보드 이벤트를 가져오는 방법에 대해 이 기사를 썼습니다.
키보드 이벤트 획득은 키보드가 있는 플랫폼에서 구현되어야 하므로 다양한 플랫폼에 대한 특수 컨트롤을 작성해야 합니다. 이 기사의 내용을 이해하려면 사용자 정의 렌더러를 미리 이해해야 합니다.
Slider:
및 열거형 클래스 Key:
를 상속하여 .net 표준 프로젝트에 새로운 사용자 정의 컨트롤 MySlider를 만듭니다. 그런 다음 UWP로 이동합니다. 프로젝트, CustomRenderer 만들기:
OnElementChanged 함수를 다시 작성합니다. 이 함수는 Xamarin 컨트롤을 네이티브 컨트롤에 매핑할 때 호출됩니다. 이전 컨트롤을 해제하고 새 컨트롤을 초기화하는 단계에 주의하세요.
Control은 기본 컨트롤에 대한 참조이고 Element는 Xamarin 컨트롤에 대한 참조입니다.
네이티브 컨트롤의 키보드 이벤트에 Control_KeyDown 이벤트를 추가하고 이 이벤트에서 사용자 지정 Xamarin 컨트롤의 기능을 호출하여 UI 이벤트 호출을 실현합니다.
그런 다음 .Net 표준 프로젝트로 돌아가서 Xaml로 작성합니다.
학습 및 테스트용으로 매우 간단합니다.
cs 파일의 내용은 다음과 같습니다.
OnKey 기능을 통해 F 키를 누르면 Slider가 최대값을 갖게 되고 E 키를 누르면 Slider가 최소값을 취하십시오.
결과를 테스트하려면 F 키를 눌러 Slider의 최대값을 얻고 E 키를 눌러 최소값을 얻으세요.