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

Загрузить образец загрузить примерDownload Sample Download the sample

Расширения разметки XAML помочь расширить возможности и гибкость XAML, позволяя атрибутов элемента из источников, отличных от литеральные текстовые строки.XAML markup extensions help extend the power and flexibility of XAML by allowing element attributes to be set from sources other than literal text strings.

Например, обычно для параметра Color свойство BoxView следующим образом:For example, normally you set the Color property of BoxView like this:

<BoxView Color="Blue" />

Или можно разместить его в шестнадцатеричное значение цвета RGB:Or, you can set it to a hexadecimal RGB color value:

<BoxView Color="#FF0080" />

В любом случае текстовая строка, значение Color атрибут преобразуется в Color по ColorTypeConverter класса.In either case, the text string set to the Color attribute is converted to a Color value by the ColorTypeConverter class.

Вы можете вместо этого задать Color атрибут из значения, хранящегося в словаре ресурсов, или значение статического свойства класса, который вы создали или свойство типа Color другого элемента на странице или спрогнозированные из разделения значений цветового тона, насыщенности и яркости.You might prefer instead to set the Color attribute from a value stored in a resource dictionary, or from the value of a static property of a class that you've created, or from a property of type Color of another element on the page, or constructed from separate hue, saturation, and luminosity values.

Все эти параметры являются возможно с помощью расширения разметки XAML.All these options are possible using XAML markup extensions. Но не дайте фразе "расширения разметки" пугают: Расширения разметки XAML не являются расширениями для XML.But don't let the phrase "markup extensions" scare you: XAML markup extensions are not extensions to XML. Даже с помощью расширения разметки XAML XAML всегда является юридические XML.Even with XAML markup extensions, XAML is always legal XML.

Расширения разметки — это просто другой способ выражения атрибут элемента.A markup extension is really just a different way to express an attribute of an element. XAML расширения разметки обычно распознаются по параметр атрибута, заключенный в фигурные скобки:XAML markup extensions are usually identifiable by an attribute setting that is enclosed in curly braces:

<BoxView Color="{StaticResource themeColor}" />

Любой атрибут в фигурных скобках задан всегда расширения разметки XAML.Any attribute setting in curly braces is always a XAML markup extension. Тем не менее как вы увидите, расширения разметки XAML можно ссылаться без использования фигурных скобок.However, as you'll see, XAML markup extensions can also be referenced without the use of curly braces.

В этой статье, состоит из двух частей:This article is divided in two parts:

Использование расширений разметки XAMLConsuming XAML Markup Extensions

Использование расширения разметки XAML, определенные в Xamarin.Forms.Use the XAML markup extensions defined in Xamarin.Forms.

Создание расширений разметки XAMLCreating XAML Markup Extensions

Написать собственные пользовательские расширения разметки XAML.Write your own custom XAML markup extensions.