Xamarin.Forms XAML 기본 사항
XAML(eXtensible Application Markup Language)은 개체를 인스턴스화 및 초기화하고 이러한 개체를 부모-자식 계층 구조로 구성하기 위한 프로그래밍 코드 대신 Microsoft에서 만든 XML 기반 언어입니다. XAML은 .NET 프레임워크 내의 여러 기술에 맞게 조정되었지만 WPF(Windows Presentation Foundation), Silverlight, Windows 런타임 및 UWP(유니버설 Windows 플랫폼) 내에서 사용자 인터페이스의 레이아웃을 정의하는 데 가장 큰 유틸리티를 발견했습니다.
XAML을 사용하면 개발자가 코드가 아닌 태그를 사용하여 애플리케이션에서 Xamarin.Forms 사용자 인터페이스를 정의할 수 있습니다. XAML은 프로그램에서 필요하지 Xamarin.Forms 않지만, 동일한 코드보다 시각적으로 더 간결하고 시각적으로 일관되며 잠재적으로 도구가 가능한 경우가 많습니다. XAML은 인기 있는 MVVM(Model-View-ViewModel) 애플리케이션 아키텍처에 사용하기에 적합합니다. XAML은 XAML 기반 데이터 바인딩을 통해 ViewModel 코드에 연결된 뷰를 정의합니다.
XAML 파일 내에서 개발자는 Xamarin.Forms 모든 Xamarin.Forms 보기, 레이아웃 및 페이지뿐만 아니라 사용자 지정 클래스를 사용하여 사용자 인터페이스를 정의할 수 있습니다. XAML 파일을 컴파일하거나 실행 파일에 포함할 수 있습니다. 어느 쪽이든 XAML 정보는 빌드 시 구문 분석되어 명명된 개체를 찾고 런타임에 다시 구문 분석되어 개체를 인스턴스화 및 초기화하고 이러한 개체와 프로그래밍 코드 간에 연결을 설정합니다.
XAML에는 동등한 코드보다 몇 가지 이점이 있습니다.
- XAML은 종종 동등한 코드보다 간결하고 읽을 수 있습니다.
- XML에 내재된 부모-자식 계층 구조를 사용하면 XAML이 사용자 인터페이스 개체의 부모-자식 계층 구조를 시각적으로 명확하게 모방할 수 있습니다.
- XAML은 프로그래머가 손쉽게 직접 작성할 수 있을 뿐만 아니라 시각적 디자인 도구로 도구 및 생성할 수도 있습니다.
태그 언어에 내장된 제한 사항과 관련된 단점도 있습니다.
- XAML은 코드를 포함할 수 없습니다. 모든 이벤트 처리기는 코드 파일에 정의되어야 합니다.
- XAML은 반복적인 처리를 위한 루프를 포함할 수 없습니다. 그러나 여러 Xamarin.Forms 시각적 개체(특히
ListView
)는 컬렉션의 개체를 기반으로 여러 자식을 생성할ItemsSource
수 있습니다. - XAML은 조건부 처리를 포함할 수 없습니다(그러나 데이터 바인딩은 일부 조건부 처리를 효과적으로 허용하는 코드 기반 바인딩 변환기를 참조할 수 있습니다.)
- XAML은 일반적으로 매개 변수가 없는 생성자를 정의하지 않는 클래스를 인스턴스화할 수 없습니다. (그러나 경우에 따라 이 제한에 대한 방법이 있습니다.)
- XAML은 일반적으로 메서드를 호출할 수 없습니다. (다시 말하지만, 이 제한은 때때로 극복할 수 있습니다.)
애플리케이션에서 Xamarin.Forms XAML을 생성하기 위한 비주얼 디자이너는 아직 없습니다. 모든 XAML은 손으로 작성해야 하지만 Visual Studio 2019 또는 Mac용 Visual Studio XAML 핫 다시 로드 사용하여 편집할 때 화면 디자인을 볼 수 있습니다. XAML 경험이 많은 개발자도 실험이 보람을 가지고 있다는 것을 알고 있습니다.
XAML은 기본적으로 XML이지만 XAML에는 몇 가지 고유한 구문 기능이 있습니다. 가장 중요한 사항은 다음과 같습니다.
- 속성 요소
- 연결된 속성
- 태그 확장
이러한 기능은 XML 확장이 아닙니다 . XAML은 전적으로 유효한 XML입니다. 그러나 이러한 XAML 구문 기능은 고유한 방식으로 XML을 사용합니다. 아래 문서에서는 MVVM 구현을 위해 XAML을 사용하는 방법을 소개합니다.
요구 사항
이 문서에서는 .에 대해 잘 알고 있다고 Xamarin.Forms가정합니다. 또한 이 문서에서는 XML 네임스페이스 선언 및 용어 요소, 태그 및 특성의 사용을 이해하는 등 XML에 대해 잘 알고 있다고 가정합니다.
XML에 대해 Xamarin.Forms 잘 알고 있는 경우 1부 읽기 를 시작합니다. XAML 시작