Расширяемый язык разметки приложений (XAML)eXtensible Application Markup Language (XAML)

XAML — это декларативная разметка язык, который может использоваться для определения пользовательских интерфейсов. Пользовательский интерфейс определяется в XML-файл с помощью синтаксиса XAML, хотя поведение во время выполнения определяется в отдельном вспомогательном файле.XAML is a declarative markup language that can be used to define user interfaces. The user interface is defined in an XML file using the XAML syntax, while runtime behavior is defined in a separate code-behind file.

Усовершенствовано в 2016 г: Становится XAML MasterEvolve 2016: Becoming a XAML Master

Основы XAMLXAML Basics

XAML позволяет разработчикам определить пользовательские интерфейсы приложений Xamarin.Forms с помощью разметки вместо кода.XAML allows developers to define user interfaces in Xamarin.Forms applications using markup rather than code. В приложении Xamarin.Forms XAML никогда не требуется, но он оснащен инструментами и часто визуально согласованными и короче, чем эквивалентный код.XAML is never required in a Xamarin.Forms program but it is toolable, and is often more visually coherent and more succinct than equivalent code. XAML особенно хорошо подходит для использования с популярными архитектура приложения Model-View-ViewModel (MVVM): XAML определяет представление, которая связана с ViewModel кода через привязки данных на основе XAML.XAML is particularly well suited for use with the popular Model-View-ViewModel (MVVM) application architecture: XAML defines the View that is linked to ViewModel code through XAML-based data bindings.

Компиляция XAMLXAML Compilation

При необходимости можно воспользоваться компилятором XAML (XAMLC) и скомпилировать XAML напрямую в промежуточный язык (IL).XAML can be optionally compiled directly into intermediate language (IL) with the XAML compiler (XAMLC). В этой статье описывается использование XAMLC и ее преимущества.This articles describes how to use XAMLC, and its benefits.

Средство предварительного просмотра XAMLXAML Previewer

Средства предварительного просмотра XAML отрисовывает динамический просмотр страницы side-by-side с разметкой XAML, позволяя см. в разделе пользовательского интерфейса к просмотру при вводе.The XAML Previewer renders a live preview of a page side-by-side with the XAML markup, allowing you to see your user interface rendered as you type.

Пространства имен языка XAMLXAML Namespaces

XAML использует xmlns XML-атрибута для объявления пространств имен.XAML uses the xmlns XML attribute for namespace declarations. В этой статье синтаксис пространства имен XAML и показано, как объявление пространства имен XAML для доступа к типу.This article introduces the XAML namespace syntax, and demonstrates how to declare a XAML namespace to access a type.

Расширения разметки XAMLXAML Markup Extensions

XAML включает расширения разметки для настройки атрибутов в значения или объекты за пределами нельзя выразить с помощью простых строк.XAML includes markup extensions for setting attributes to values or objects beyond what can be expressed with simple strings. К ним относятся, ссылающиеся на константы, статические свойства и поля, словари ресурсов и привязки данных.These include referencing constants, static properties and fields, resource dictionaries, and data bindings.

Модификаторы полейField Modifiers

x:FieldModifier Атрибут пространства имен указывает уровень доступа для созданных полей для именованных элементов XAML.The x:FieldModifier namespace attribute specifies the access level for generated fields for named XAML elements.

Передача аргументовPassing Arguments

XAML можно использовать для передачи аргументов конструктора не по умолчанию или к методам фабрики.XAML can be used to pass arguments to non-default constructors or to factory methods. В этой статье демонстрируется использование атрибутов XAML, которые могут использоваться для передачи аргументов к конструкторам для вызова методов фабрики, а также указать тип универсального аргумента.This article demonstrates using the XAML attributes that can be used to pass arguments to constructors, to call factory methods, and to specify the type of a generic argument.

Привязываемые свойстваBindable Properties

В Xamarin.Forms функциональные возможности параметров среды выполнения (CLR) расширен с помощью свойства связывания.In Xamarin.Forms, the functionality of common language runtime (CLR) properties is extended by bindable properties. Может быть привязано — это специальный тип свойства, где значение свойства отслеживается системой свойств Xamarin.Forms.A bindable property is a special type of property, where the property's value is tracked by the Xamarin.Forms property system. В этой статье содержатся вводные привязываемые свойства, а также показано, как создавать и использовать их.This article provides an introduction to bindable properties, and demonstrates how to create and consume them.

Вложенные свойстваAttached Properties

Присоединенное свойство — это специальный тип привязки свойства, определенные в одном классе, но присоединен к другим объектам и распознается в XAML как атрибут, содержащий класс и имя свойства, разделенные точкой.An attached property is a special type of bindable property, defined in one class but attached to other objects, and recognizable in XAML as an attribute that contains a class and a property name separated by a period. В этой статье содержатся вводные присоединенных свойств и показано, как создавать и использовать их.This article provides an introduction to attached properties, and demonstrates how to create and consume them.

Словари ресурсовResource Dictionaries

Ресурсы XAML, определения объектов, которые могут использоваться более одного раза.XAML resources are definitions of objects that can be used more than once. Объект ResourceDictionary позволяет ресурсы, определенные в одном месте, и повторно использоваться на протяжении всего приложения Xamarin.Forms.A ResourceDictionary allows resources to be defined in a single location, and re-used throughout a Xamarin.Forms application. В этой статье показано, как создавать и использовать ResourceDictionaryи способы слияния одного ResourceDictionary в другой.This article demonstrates how to create and consume a ResourceDictionary, and how to merge one ResourceDictionary into another.