Связанные с XAML атрибуты среды CLR для пользовательских типов и библиотекXAML-related CLR attributes for custom types and libraries

В этом разделе описываются атрибуты среды CLR, определяемые службами XAML .NET.This topic describes the common language runtime (CLR) attributes that are defined by .NET XAML Services. Здесь также описываются другие атрибуты среды CLR, определенные в .NET, которые имеют сценарий, связанный с XAML, для приложений в сборках или типах.It also describes other CLR attributes that are defined in .NET that have a XAML-related scenario for application to assemblies or types. При присвоении атрибутам сборок, типов или членов эти атрибуты среды CLR предоставляют сведения о системе типов XAML, связанные с типами.Attributing assemblies, types, or members with these CLR attributes provides XAML type system information related to your types. Информация предоставляется любому потребителю XAML, использующему службы XAML .NET для обработки потока узлов XAML напрямую или через выделенные средства чтения и записи XAML.Information is provided to any XAML consumer that uses .NET XAML Services for processing the XAML node stream directly or through the dedicated XAML readers and XAML writers.

Использование атрибутов CLR подразумевает, что вы используете общую среду CLR для определения типов, иначе такие атрибуты недоступны.Using CLR attributes entails that you are using the overall CLR to define your types, otherwise such attributes are not available. Если для определения резервного типа используется среда CLR, контекст схемы XAML по умолчанию, используемый авторами XAML служб XAML .NET, может считывать атрибуты среды CLR посредством отражения для резервных сборок.If you use the CLR to define type backing, then the default XAML schema context used by .NET XAML Services XAML writers can read CLR attribution through reflection against backing assemblies.

В следующих разделах описываются атрибуты, связанные с XAML, которые можно применять к пользовательским типам или пользовательским элементам.The following sections describe the XAML-related attributes that you can apply to custom types or custom members. Каждый атрибут CLR передает сведения, относящиеся к системе типов XAML.Each CLR attribute communicates information that is relevant to a XAML type system. В пути загрузки сведения об атрибутах позволяют средству чтения XAML сформировать допустимый поток узлов XAML или помочь модулю записи XAML создать допустимый граф объекта.In the load path, the attributed information either helps the XAML reader form a valid XAML node stream, or it helps the XAML writer produce a valid object graph. В пути сохранения сведения об атрибутах позволяют средству чтения XAML формировать допустимый поток узлов XAML, который восстанавливает сведения о системе типов XAML. либо он объявляет указания сериализации или требования для модуля записи XAML или других потребителей XAML.In the save path, the attributed information either helps the XAML reader form a valid XAML node stream that reconstitutes XAML type system information; or it declares serialization hints or requirements for the XAML writer or other XAML consumers.

амбиентаттрибутеAmbientAttribute

Справочная документация:AmbientAttributeReference Documentation: AmbientAttribute

Применимо к: Члены класса, свойства или get метода доступа, поддерживающие присоединяемые свойства.Applies to: Class, property, or get accessor members that support attachable properties.

Аргументы: NoneArguments: None

AmbientAttribute Указывает, что свойство или все свойства, принимающие атрибут Type, должны интерпретироваться в концепции свойства окружения в XAML.AmbientAttribute indicates that the property, or all properties that take the attributed type, should be interpreted under the ambient property concept in XAML. Концепция окружения относится к тому, как обработчики XAML определяют владельцев типов членов.The ambient concept relates to how XAML processors determine type owners of members. Внешнее свойство — это свойство, в котором значение должно быть доступно в контексте средства синтаксического анализа при создании графа объекта, но если типичный Поиск члена типа приостанавливается для немедленного создания набора узлов XAML.An ambient property is a property where the value is expected to be available in the parser context when creating an object graph, but where typical type-member lookup is suspended for the immediate XAML node set being created.

Концепцию окружающей среды можно применить к присоединяемым элементам, которые не представлены как свойства с точки зрения определения атрибутов в среде CLR AttributeTargets .The ambient concept can be applied to attachable members, which are not represented as properties in terms of how CLR attribution defines AttributeTargets. Использование атрибутов метода должно применяться только для get метода доступа, который поддерживает присоединяемое использование для XAML.The method attribution usage should be applied only for a get accessor that supports attachable usage for XAML.

конструктораргументаттрибутеConstructorArgumentAttribute

Справочная документация: ConstructorArgumentAttributeReference Documentation: ConstructorArgumentAttribute

Применимо к: СмApplies to: Class

Аргументы: Строка, указывающая имя свойства, которое соответствует одному аргументу конструктора.Arguments: A string that specifies the name of the property that matches a single constructor argument.

ConstructorArgumentAttribute Указывает, что объект может быть инициализирован с помощью синтаксиса конструктора без параметров, а свойство указанного имени предоставляет сведения о конструкции.ConstructorArgumentAttribute specifies that an object can be initialized by using a non-parameterless constructor syntax, and that a property of the specified name supplies construction information. Эта информация предназначена главным образом для сериализации XAML.This information is primarily for XAML serialization. Для получения дополнительной информации см. ConstructorArgumentAttribute.For more information, see ConstructorArgumentAttribute.

Атрибут ContentPropertyAttributeContentPropertyAttribute

Справочная документация: ContentPropertyAttributeReference Documentation: ContentPropertyAttribute

Применимо к: СмApplies to: Class

Аргументы: Строка, указывающая имя члена типа с атрибутом.Arguments: A string that specifies the name of a member of the attributed type.

ContentPropertyAttribute Указывает, что свойство, именованное аргументом, должно выступать в качестве свойства содержимого XAML для этого типа.ContentPropertyAttribute indicates that the property as named by the argument should serve as the XAML content property for that type. Определение свойства содержимого XAML наследуется на все производные типы, которые могут быть назначены определяющему типу.The XAML content property definition inherits to all derived types that are assignable to the defining type. Определение для конкретного производного типа можно переопределить, применив ContentPropertyAttribute к конкретному производному типу.You can override the definition on a specific derived type by applying ContentPropertyAttribute on the specific derived type.

Для свойства, которое служит свойством содержимого XAML, теги элемента свойства можно опустить в использовании XAML.For the property that serves as the XAML content property, property element tagging for the property can be omitted in the XAML usage. Как правило, вы указываете свойства содержимого XAML, повышающие упрощенную разметку XAML для модели содержимого и хранения.Typically, you designate XAML content properties that promote a streamlined XAML markup for your content and containment models. Так как свойство содержимого XAML может быть назначено только одному члену, у вас иногда есть варианты проектирования, определяющие, какое из нескольких свойств контейнера типа должно быть определено как свойство содержимого XAML.Because only one member can be designated as the XAML content property, you sometimes have design choices to make regarding which of several container properties of a type should be designated as the XAML content property. Другие свойства контейнера должны использоваться с явными элементами свойств.The other container properties must be used with explicit property elements.

В потоке узлов XAML свойства содержимого XAML по-прежнему создаются StartMember и EndMember узлы, используя имя свойства для XamlMember .In the XAML node stream, XAML content properties still produce StartMember and EndMember nodes, using the name of the property for the XamlMember. Чтобы определить, является ли элемент свойством содержимого XAML, проверьте XamlType значение в StartObject положении и получите значение ContentProperty .To determine whether a member is the XAML content property, examine the XamlType value from the StartObject position and obtain the value of ContentProperty.

контентврапператтрибутеContentWrapperAttribute

Справочная документация: ContentWrapperAttributeReference Documentation: ContentWrapperAttribute

Применимо к: Класс, а именно типы коллекций.Applies to: Class, specifically collection types.

Аргументы: Значение типа Type , указывающее тип, используемый в качестве типа оболочки содержимого для внешнего содержимого.Arguments: A Type that specifies the type to use as the content wrapper type for foreign content.

ContentWrapperAttribute Указывает один или несколько типов в связанном типе коллекции, которые будут использоваться для упаковки внешнего содержимого.ContentWrapperAttribute specifies one or more types on the associated collection type that will be used to wrap foreign content. Внешнее содержимое относится к случаям, когда ограничения системы типов для типа свойства содержимого не захватывают все возможные варианты содержимого, которые может поддерживать использование XAML для типа-владельца.Foreign content refers to cases where the type system constraints on the type of the content property do not capture all of the possible content cases that XAML usage for the owning type would support. Например, поддержка XAML для содержимого определенного типа может поддерживать строки в строго типизированном универсальном типе Collection<T> .For example, XAML support for content of a particular type might support strings in a strongly typed generic Collection<T>. Оболочки содержимого полезны для переноса существовавших ранее соглашений о разметке в замысла XAML назначаемых значений для коллекций, например для переноса связанных с текстом моделей содержимого.Content wrappers are useful for migrating pre-existing markup conventions into XAML's conception of assignable values for collections, such as migrating text-related content models.

Чтобы указать более одного типа оболочки содержимого, примените атрибут несколько раз.To specify more than one content wrapper type, apply the attribute multiple times.

депендсонаттрибутеDependsOnAttribute

Справочная документация: DependsOnAttributeReference Documentation: DependsOnAttribute

Применимо к: СвойстваApplies to: Property

Аргументы: Строка, указывающая имя другого члена типа с атрибутом.Arguments: A string that specifies the name of another member of the attributed type.

DependsOnAttribute Указывает, что свойство с атрибутом зависит от значения другого свойства.DependsOnAttribute indicates that the attributed property depends on the value of another property. Применение этого атрибута к определению свойства гарантирует, что зависимые свойства обрабатываются первыми в написании объектов XAML.Applying this attribute to a property definition ensures that the dependent properties are processed first in XAML object writing. Использование DependsOnAttribute определяет исключительные случаи свойств для типов, где необходимо следовать определенному порядку синтаксического анализа для создания допустимого объекта.Usages of DependsOnAttribute specify the exceptional cases of properties on types where a specific order of parsing must be followed for valid object creation.

DependsOnAttributeК определению свойства можно применить несколько вариантов.You can apply multiple DependsOnAttribute cases to a property definition.

маркупекстенсионретурнтипеаттрибутеMarkupExtensionReturnTypeAttribute

Справочная документация: MarkupExtensionReturnTypeAttributeReference Documentation: MarkupExtensionReturnTypeAttribute

Применимо к: Класс, который должен быть MarkupExtension производным типом.Applies to: Class, which is expected to be a MarkupExtension derived type.

Аргументы: Значение Type типа, указывающее наиболее точный тип, который должен ProvideValue быть получен в результате атрибута MarkupExtension .Arguments: A Type that specifies the most precise type to expect as the ProvideValue result of the attributed MarkupExtension.

Дополнительные сведения см. в статье Общие сведения о расширениях разметки для XAML.For more information, see Markup Extensions for XAML Overview.

намескопепропертяттрибутеNameScopePropertyAttribute

Справочная документация: NameScopePropertyAttributeReference Documentation: NameScopePropertyAttribute

Применимо к: СмApplies to: Class

Аргументы: Поддерживает две формы атрибутов:Arguments: Supports two forms of attribution:

  • Строка, указывающая имя свойства для типа с атрибутом.A string that specifies the name of a property on the attributed type.

  • Строка, указывающая имя свойства и Type для типа, определяющего именованное свойство.A string that specifies the name of a property, and a Type for the type that defines the named property. Эта форма предназначена для указания присоединяемого члена в качестве свойства области имен XAML.This form is for specifying an attachable member as the XAML namescope property.

NameScopePropertyAttribute Указывает свойство, которое предоставляет значение области имен XAML для класса с атрибутами.NameScopePropertyAttribute specifies a property that provides the XAML namescope value for the attributed class. Предполагается, что свойство области имен XAML должно ссылаться на объект, который реализует INameScope и содержит фактическую область имен XAML, ее хранилище и поведение.The XAML namescope property is expected to reference an object that implements INameScope and holds the actual XAML namescope, its store, and its behavior.

рунтименамепропертяттрибутеRuntimeNamePropertyAttribute

Справочная документация: RuntimeNamePropertyAttributeReference Documentation: RuntimeNamePropertyAttribute

Применимо к: СмApplies to: Class

Аргументы: Строка, указывающая имя свойства имени среды выполнения для типа с атрибутом.Arguments: A string that specifies the name of the run-time name property on the attributed type.

RuntimeNamePropertyAttribute сообщает свойство типа с атрибутом, которое соответствует директиве XAML x:Name.RuntimeNamePropertyAttribute reports a property of the attributed type that maps to the XAML x:Name Directive. Свойство должно иметь тип String и должно быть доступно для чтения и записи.The property must be of type String and must be read/write.

Определение наследуется ко всем производным типам, которые могут быть назначены определяющему типу.The definition inherits to all derived types that are assignable to the defining type. Определение для конкретного производного типа можно переопределить, применив RuntimeNamePropertyAttribute к конкретному производному типу.You can override the definition on a specific derived type by applying RuntimeNamePropertyAttribute on the specific derived type.

тримсурраундингвхитеспацеаттрибутеTrimSurroundingWhitespaceAttribute

Справочная документация: TrimSurroundingWhitespaceAttributeReference Documentation: TrimSurroundingWhitespaceAttribute

Применимо к: ТиповApplies to: Types

Аргументы: None.Arguments: None.

TrimSurroundingWhitespaceAttribute применяется к конкретным типам, которые могут отображаться как дочерние элементы в значительном содержимом пустого пространства (содержимое, удерживаемое коллекцией WhitespaceSignificantCollectionAttribute ).TrimSurroundingWhitespaceAttribute is applied to specific types that might appear as child elements within white-space significant content (content held by a collection that has WhitespaceSignificantCollectionAttribute). TrimSurroundingWhitespaceAttribute в основном относится к пути сохранения, но доступно в системе типов XAML в пути загрузки путем проверки XamlType.TrimSurroundingWhitespace .TrimSurroundingWhitespaceAttribute is mainly relevant to the save path, but is available in the XAML type system in the load path by examining XamlType.TrimSurroundingWhitespace. Дополнительные сведения см. в разделе Обработка пробелов в XAML.For more information, see White-space processing in XAML.

TypeConverterAttributeTypeConverterAttribute

Справочная документация: TypeConverterAttributeReference Documentation: TypeConverterAttribute

Применимо к: Класс, свойство, метод (единственный допустимый код XAML — метод get доступа, поддерживающий присоединяемый элемент).Applies to: Class, property, method (the only XAML-valid method case is a get accessor that supports an attachable member).

Аргументы: Объект Type класса TypeConverter .Arguments: The Type of the TypeConverter.

TypeConverterAttribute в контексте XAML ссылается на пользовательский объект TypeConverter .TypeConverterAttribute in a XAML context references a custom TypeConverter. Это TypeConverter обеспечивает поведение преобразования типов для пользовательских типов или членов этого типа.This TypeConverter provides type conversion behavior for custom types, or members of that type.

Примените TypeConverterAttribute атрибут к типу, обратившись к реализации преобразователя типов.Apply the TypeConverterAttribute attribute to your type, referencing your type converter implementation. Можно определить преобразователи типов для XAML в классах, структурах или интерфейсах.You can define type converters for XAML on classes, structures, or interfaces. Нет необходимости предоставлять преобразование типов для перечислений. это преобразование включено изначально.You do not need to provide type conversion for enumerations, that conversion is enabled natively.

Преобразователь типов должен иметь возможность преобразования из строки, используемой для атрибутов или текста инициализации в разметке, в предполагаемый целевой тип.Your type converter should be able to convert from a string that is used for attributes or initialization text in markup, into your intended destination type. Дополнительные сведения см. в разделе TypeConverters и XAML.For more information, see TypeConverters and XAML.

Вместо применения ко всем значениям типа, поведение преобразователя типов для XAML также можно установить на конкретном свойстве.Rather than applying to all values of a type, a type converter behavior for XAML can also be established on a specific property. В этом случае вы примените TypeConverterAttribute к определению свойства (внешнее определение, а не конкретные get set определения и).In this case, you apply TypeConverterAttribute to the property definition (the outer definition, not the specific get and set definitions).

Поведение преобразователя типов для использования XAML настраиваемого присоединяемого члена можно назначить с помощью TypeConverterAttribute get метода доступа к методу, который поддерживает использование XAML.A type converter behavior for XAML usage of a custom attachable member can be assigned by applying TypeConverterAttribute to the get method accessor that supports the XAML usage.

Аналогично TypeConverter , TypeConverterAttribute существовал в .NET до существования XAML, а модель преобразователя типов обслужила другими целями.Similar to TypeConverter, TypeConverterAttribute existed in .NET prior to the existence of XAML, and the type converter model served other purposes. Для ссылки и использования TypeConverterAttribute необходимо полностью уточнить его или предоставить using инструкцию для System.ComponentModel .In order to reference and use TypeConverterAttribute, you must fully qualify it or provide a using statement for System.ComponentModel. Также включите в проект системную сборку.Also include the System assembly in your project.

уидпропертяттрибутеUidPropertyAttribute

Справочная документация: UidPropertyAttributeReference Documentation: UidPropertyAttribute

Применимо к: СмApplies to: Class

Аргументы: Строка, которая ссылается на соответствующее свойство по имени.Arguments: A string that references the relevant property by name.

Указывает свойство CLR класса, который является псевдонимом для директивы x:UID.Indicates the CLR property of a class that aliases the x:Uid Directive.

усабледурингинитиализатионаттрибутеUsableDuringInitializationAttribute

Справочная документация: UsableDuringInitializationAttributeReference Documentation: UsableDuringInitializationAttribute

Применимо к: СмApplies to: Class

Аргументы: Логическое значение.Arguments: A Boolean. Если используется для назначения атрибута, значение должно быть равно true .If used for the attribute's intended purpose, the value should be set to true.

Указывает, строится ли тип сверху вниз во время создания графа объектов XAML.Indicates whether the type is built top-down during XAML object graph creation. Это сложная концепция, которая, вероятно, тесно связана с определением модели программирования.This is an advanced concept, which is probably closely related to the definition of your programming model. Для получения дополнительной информации см. UsableDuringInitializationAttribute.For more information, see UsableDuringInitializationAttribute.

валуесериализераттрибутеValueSerializerAttribute

Справочная документация: ValueSerializerAttributeReference Documentation: ValueSerializerAttribute

Применимо к: Класс, свойство, метод (единственный допустимый код XAML — метод get доступа, поддерживающий присоединяемый элемент).Applies to: Class, property, method (the only XAML-valid method case is a get accessor that supports an attachable member).

Аргументы: Объект Type , указывающий класс поддержки сериализатора значений для использования при сериализации всех свойств типа с атрибутом или определенного свойства с атрибутами.Arguments: A Type that specifies the value serializer support class to use when serializing all properties of the attributed type, or the specific attributed property.

ValueSerializer Указывает класс сериализации значения, для которого требуется больше состояний и контекста, чем у TypeConverter .ValueSerializer specifies a value serialization class that requires more state and context than a TypeConverter does. ValueSerializer можно связать с присоединяемым членом, применив ValueSerializerAttribute атрибут к статическому get методу доступа для присоединяемого элемента.ValueSerializer can be associated with an attachable member by applying the ValueSerializerAttribute attribute on the static get accessor method for the attachable member. Сериализация значений также применяется для перечислений, интерфейсов и структур, но не для делегатов.Value serialization is also applicable for enumerations, interfaces, and structures, but not for delegates.

вхитеспацесигнификантколлектионаттрибутеWhitespaceSignificantCollectionAttribute

Справочная документация: WhitespaceSignificantCollectionAttributeReference Documentation: WhitespaceSignificantCollectionAttribute

Применимо к: Класс, а именно типы коллекций, которые должны размещать смешанное содержимое, где пробелы вокруг элементов объекта могут быть значительными для представления пользовательского интерфейса.Applies to: Class, specifically collection types that are expected to host mixed content, where white space around object elements might be significant for UI representation.

Аргументы: None.Arguments: None.

WhitespaceSignificantCollectionAttribute Указывает, что тип коллекции должен обрабатываться обработчиком XAML как значащий пробел, что влияет на построение узлов значений потока узлов XAML в коллекции.WhitespaceSignificantCollectionAttribute indicates that a collection type should be processed as white-space significant by a XAML processor, which influences the construction of the XAML node stream's value nodes within the collection. Дополнительные сведения см. в разделе Обработка пробелов в XAML.For more information, see White-space processing in XAML.

ксамлдеферлоадаттрибутеXamlDeferLoadAttribute

Справочная документация: XamlDeferLoadAttributeReference Documentation: XamlDeferLoadAttribute

Применимо к: Класс, свойство.Applies to: Class, property.

Аргументы: Поддерживает два типа форм соотнесений в виде строк или типов как Type .Arguments: Supports two attribution forms types as strings, or types as Type. См. раздел XamlDeferLoadAttribute.See XamlDeferLoadAttribute.

Указывает, что классу или свойству соответствует использование отложенной загрузки для XAML (в частности, поведение шаблона), и сообщает о классе, включающем задержку, и о его типе назначения/содержимого.Indicates that a class or property has a deferred load usage for XAML (such as a template behavior), and reports the class that enables the deferring behavior and its destination/content type.

XamlSetMarkupExtensionAttributeXamlSetMarkupExtensionAttribute

Справочная документация: XamlSetMarkupExtensionAttributeReference Documentation: XamlSetMarkupExtensionAttribute

Применимо к: СмApplies to: Class

Аргументы: Присваивает имя обратному вызову.Arguments: Names the callback.

Указывает, что класс может использовать расширение разметки для предоставления значения для одного или нескольких его свойств и ссылается на обработчик, который должен вызывать модуль записи XAML перед выполнением операции установки расширения разметки для любого свойства класса.Indicates that a class can use a markup extension to provide a value for one or more of its properties, and references a handler that a XAML writer should call before performing a markup extension set operation on any property of the class.

ксамлсеттипеконвертераттрибутеXamlSetTypeConverterAttribute

Справочная документация: XamlSetTypeConverterAttributeReference Documentation: XamlSetTypeConverterAttribute

Применимо к: СмApplies to: Class

Аргументы: Присваивает имя обратному вызову.Arguments: Names the callback.

Указывает, что класс может использовать преобразователь типов для предоставления значения для одного или нескольких его свойств и ссылается на обработчик, который должен вызывать модуль записи XAML перед выполнением операции преобразователя типов для любого свойства класса.Indicates that a class can use a type converter to provide a value for one or more of its properties, and references a handler that a XAML writer should call before performing a type converter set operation on any property of the class.

ксмллангпропертяттрибутеXmlLangPropertyAttribute

Справочная документация: XmlLangPropertyAttributeReference Documentation: XmlLangPropertyAttribute

Применимо к: СмApplies to: Class

Аргументы: Строка, указывающая имя свойства для псевдонима в типе с xml:lang атрибутом.Arguments: A string that specifies the name of the property to alias to xml:lang on the attributed type.

XmlLangPropertyAttribute сообщает свойство типа с атрибутом, которое сопоставляется с lang директивой XML.XmlLangPropertyAttribute reports a property of the attributed type that maps to the XML lang directive. Свойство не обязательно должно иметь тип, String но его необходимо назначить из строки (присваивание можно выполнить, связав преобразователь типов с типом свойства или с определенным свойством).The property is not necessarily of type String but must be assignable from a string (assignment could be accomplished by associating a type converter with the property's type or with the specific property). Свойство должно быть доступно для чтения и записи.The property must be read/write.

Сценарий для сопоставления заключается в том xml:lang , что объектная модель времени выполнения имеет доступ к языковой информации, указанной в XML, без необходимости специальной обработки с помощью XMLDOM.The scenario for mapping xml:lang is so that a runtime object model has access to XML-specified language information without specifically processing with an XMLDOM.

Определение наследуется ко всем производным типам, которые могут быть назначены определяющему типу.The definition inherits to all derived types that are assignable to the defining type. Определение для конкретного производного типа можно переопределить, применив к XmlLangPropertyAttribute конкретному производному типу, хотя это нераспространенный сценарий.You can override the definition on a specific derived type by applying XmlLangPropertyAttribute on the specific derived type, although that is an uncommon scenario.

В следующих разделах описываются атрибуты, связанные с XAML, которые не применяются к типам или определениям элементов, а применяются к сборкам.The following sections describe the XAML-related attributes that are not applied to types or member definitions, but are instead applied to assemblies. Эти атрибуты относятся к общей цели определения библиотеки, содержащей пользовательские типы для использования в XAML.These attributes are pertinent to the overall goal of defining a library that contains custom types to use in XAML. Некоторые атрибуты не обязательно влияют на поток узлов XAML напрямую, но передаются в потоке узла для использования другими потребителями.Some of the attributes do not necessarily influence the XAML node stream directly, but are passed on in the node stream for other consumers to use. Потребители для информации включают среды разработки или процессы сериализации, которым требуются сведения о пространстве имен XAML и связанные сведения о префиксах.Consumers for the information include design environments or serialization processes that need XAML namespace information and associated prefix information. Контекст схемы XAML (включая по умолчанию службы XAML .NET) также использует эти сведения.A XAML schema context (including the .NET XAML Services default) also uses this information.

ксмлнскомпатиблевисаттрибутеXmlnsCompatibleWithAttribute

Справочная документация: XmlnsCompatibleWithAttributeReference Documentation: XmlnsCompatibleWithAttribute

Аргументы:Arguments:

  • Строка, указывающая идентификатор пространства имен XAML для субсуме.A string that specifies the identifier of the XAML namespace to subsume.

  • Строка, указывающая идентификатор пространства имен XAML, который может субсуме пространство имен XAML из предыдущего аргумента.A string that specifies the identifier of the XAML namespace that can subsume the XAML namespace from the previous argument.

    XmlnsCompatibleWithAttribute Указывает, что пространство имен XAML может быть относящиесяо другим пространством имен XAML.XmlnsCompatibleWithAttribute specifies that a XAML namespace can be subsumed by another XAML namespace. Как правило, поглощающее пространство имен XAML указывается в определенном ранее XmlnsDefinitionAttribute.Typically, the subsuming XAML namespace is indicated in a previously defined XmlnsDefinitionAttribute. Этот метод можно использовать для управления версиями словаря XAML в библиотеке и обеспечения его совместимости с ранее заданной разметкой для словаря предыдущих версий.This technique can be used for versioning a XAML vocabulary in a library and to make it compatible with previously defined markup against the earlier versioned vocabulary.

XmlnsDefinitionAttributeXmlnsDefinitionAttribute

Справочная документация: XmlnsDefinitionAttributeReference Documentation: XmlnsDefinitionAttribute

Аргументы:Arguments:

  • Строка, указывающая идентификатор пространства имен XAML для определения.A string that specifies the identifier of the XAML namespace to define.

  • Строка, которая именует пространство имен CLR.A string that names a CLR namespace. Пространство имен CLR должно определять открытые типы в сборке, и хотя бы один из типов пространств имен CLR должен быть предназначен для использования XAML.The CLR namespace should define public types in your assembly, and at least one of the CLR namespace types should be intended for XAML usage.

    XmlnsDefinitionAttribute Задает сопоставление для отдельных сборок между пространством имен XAML и пространством имен CLR, которое затем используется для разрешения типов с помощью средства записи объектов XAML или контекста схемы XAML.XmlnsDefinitionAttribute specifies a mapping on a per-assembly basis between a XAML namespace and a CLR namespace, which is then used for type resolution by a XAML object writer or XAML schema context.

    XmlnsDefinitionAttributeК сборке можно применить более одного типа.More than one XmlnsDefinitionAttribute can be applied to an assembly. Это может быть сделано по любой комбинации следующих причин.This might be done for any combination of the following reasons:

  • Структура библиотеки содержит несколько пространств имен среды CLR для логической организации доступа к API времени выполнения. Однако необходимо, чтобы все типы в этих пространствах имен были доступны для использования XAML с помощью ссылки на одно и то же пространство имен XAML.The library design contains multiple CLR namespaces for logical organization of run-time API access; however, you want all types in those namespaces to be XAML-usable by referencing the same XAML namespace. В этом случае вы примените несколько XmlnsDefinitionAttribute атрибутов с одним и тем же XmlNamespace значением, но разными ClrNamespace значениями.In this case, you apply several XmlnsDefinitionAttribute attributes using the same XmlNamespace value but different ClrNamespace values. Это особенно полезно при определении сопоставлений для пространства имен XAML, которое ваша платформа или приложение будет использовать в качестве пространства имен XAML по умолчанию в общем использовании.This is especially useful if you are defining mappings for the XAML namespace that your framework or application intends to be the default XAML namespace in common usage.

  • Структура библиотеки содержит несколько пространств имен CLR, и требуется разделять пространство имен XAML между использованием типов в этих пространствах имен CLR.The library design contains multiple CLR namespaces, and you want a deliberate XAML namespace separation between the usages of types in those CLR namespaces.

  • Вы определяете пространство имен CLR в сборке и хотите, чтобы оно было доступно через несколько пространств имен XAML.You define a CLR namespace in the assembly, and you want it to be accessible through more than one XAML namespace. Этот сценарий происходит при поддержке нескольких словари с одной и той же базой кода.This scenario occurs when you are supporting multiple vocabularies with the same codebase.

  • Поддержка языка XAML определяется в одном или нескольких пространствах имен CLR.You define XAML language support in one or more CLR namespaces. В этом случае XmlNamespace значение должно быть http://schemas.microsoft.com/winfx/2006/xaml .In this case, the XmlNamespace value should be http://schemas.microsoft.com/winfx/2006/xaml.

ксмлнспрефиксаттрибутеXmlnsPrefixAttribute

Справочная документация: XmlnsPrefixAttributeReference Documentation: XmlnsPrefixAttribute

Аргументы:Arguments:

  • Строка, указывающая идентификатор пространства имен XAML.A string that specifies the identifier of a XAML namespace.

  • Строка, указывающая рекомендуемый префикс.A string that specifies a recommended prefix.

    XmlnsDefinitionAttribute Задает рекомендуемый префикс, используемый для пространства имен XAML.XmlnsDefinitionAttribute specifies a recommended prefix to use for a XAML namespace. Префикс полезен при записи элементов и атрибутов в XAML-файл, сериализованный службами XAML .NET XamlXmlWriter , или когда библиотека, реализующая XAML, взаимодействует с средой разработки, имеющей функции редактирования XAML.The prefix is useful when writing elements and attributes in a XAML file that is serialized by .NET XAML Services XamlXmlWriter, or when a XAML-implementing library interacts with a design environment that has XAML editing features.

    XmlnsPrefixAttributeК сборке можно применить более одного типа.More than one XmlnsPrefixAttribute can be applied to an assembly. Это может быть сделано по любой комбинации следующих причин.This might be done for any combination of the following reasons:

  • Сборка определяет типы для более чем одного пространства имен XAML.Your assembly defines types for more than one XAML namespace. В этом случае определите разные префиксные значения для каждого пространства имен XAML.In this case, define different prefix values for each XAML namespace.

  • Вы поддерживаете несколько словари и используете разные префиксы для каждого словаря и пространства имен XAML.You are supporting multiple vocabularies, and you use different prefixes for each vocabulary and XAML namespace.

  • Вы определяете поддержку языка XAML в сборке и обладаете XmlnsDefinitionAttribute для http://schemas.microsoft.com/winfx/2006/xaml .You define XAML language support in the assembly and have a XmlnsDefinitionAttribute for http://schemas.microsoft.com/winfx/2006/xaml. В этом случае, как правило, следует повысить уровень префикса x .In this case, you typically should promote the prefix x.

Примечание

Службы XAML .NET также определяют атрибут, связанный с XAML RootNamespaceAttribute ..NET XAML Services also defines the XAML-related attribute RootNamespaceAttribute. Этот атрибут является атрибутом уровня сборки для поддержки системы проектов и не имеет отношения к настраиваемым типам XAML.This attribute is an assembly-level attribute for project system support, and it is not relevant for XAML custom types.

См. такжеSee also