XmlnsPrefixAttribute Класс

Определение

Определяет рекомендуемый префикс, связываемый с пространством имен XAML для использования XAML при записи элементов и атрибутов в файл XAML (сериализация) или при взаимодействии со средой разработки, поддерживающей функции редактирования XAML.Identifies a recommended prefix to associate with a XAML namespace for XAML usage, when writing elements and attributes in a XAML file (serialization) or when interacting with a design environment that has XAML editing features.

public ref class XmlnsPrefixAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class XmlnsPrefixAttribute : Attribute
type XmlnsPrefixAttribute = class
    inherit Attribute
Public NotInheritable Class XmlnsPrefixAttribute
Inherits Attribute
Наследование
XmlnsPrefixAttribute
Атрибуты

Комментарии

Обработчики XAML или платформы, включающие XAML или любой процесс, выполняющий сериализацию XAML, должны учитывать рекомендуемый префикс.XAML processors or frameworks that incorporate XAML, or any process that performs XAML serialization, should generally honor the recommended prefix. Префикс может быть необходим в любом случае, когда префиксы из определенных сопоставлений в исходном источнике XAML не сохраняются каким-либо образом в графе объекта среды выполнения или в ином случае не сохраняются платформой или технологией.The prefix might be necessary in any case where prefixes from specific mappings in the original XAML source are not somehow preserved in the runtime object graph or otherwise stored by a framework or technology. Платформа может иметь определенные настройки для сериализации собственных типов, которые игнорируют рекомендуемый префикс из собственных сборок. Это может быть сделано для согласованного повышения пространства имен XAML по умолчанию.A framework might have specific preferences for how to serialize its own types that ignore the recommended prefix from its own assemblies; this might be done to consistently promote a default XAML namespace. Однако такая платформа по-прежнему должна предоставлять рекомендованные префиксы для возможных использования сторонними производителями и средствами типов XAML.However, such a framework should still provide recommended prefixes for possible third-party and tool usages of its XAML types. См. раздел "рекомендации по поддержке Конструктор XAML или общей сериализации" ниже.See "Best Practice for XAML Designer Support or General Serialization" section below.

Общей рекомендацией по префиксам является использование коротких строк, поскольку префикс обычно применяется ко всем сериализованным элементам, полученным из пространства имен XAML.A general recommendation for prefixes is to use short strings, because the prefix is typically applied to all serialized elements that come from the XAML namespace. Длина строки префикса может заметно повлиять на размер сериализованных выходных данных XAML.The prefix string length can have a noticeable effect on the size of serialized XAML output.

Если запрашиваемый префикс уже используется другим ранее обнаруженным или сериализованным идентификатором пространства имен XAML, поведение не определено (поведение относится к каждой отдельной реализации обработчика XAML).If a prefix being requested is already in use by another previously encountered/serialized XAML namespace identifier, the behavior is unspecified (behavior is up to each individual XAML processor implementation).

В большинстве случаев применяется XmlnsPrefixAttribute только в том случае, если в сборке также применен хотя бы один XmlnsDefinitionAttribute объект для этого же пространства имен XAML.In most cases, you apply XmlnsPrefixAttribute only if you have also applied at least one XmlnsDefinitionAttribute in the assembly for that same XAML namespace.

В предыдущих версиях .NET Framework этот класс существовал в сборке, относящейся к WPF, WindowsBase.In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. В .NET Framework 4.NET Framework 4параметрнаходитсявсборкеSystem .XAML.XmlnsPrefixAttributeIn .NET Framework 4.NET Framework 4, XmlnsPrefixAttribute is in the System.Xaml assembly. Для получения дополнительной информации см. Types Migrated from WPF to System.Xaml.For more information, see Types Migrated from WPF to System.Xaml.

Рекомендации по поддержке Конструктор XAML или общей сериализацииBest Practice for XAML Designer Support or General Serialization

Даже если требуется, чтобы связанное пространство имен XAML было пространством имен XAML по умолчанию в большинстве случаев использования платформы или библиотеки, необходимо по-прежнему указать непустую строку в качестве рекомендуемого префикса для пространства имен XAML.Even if you intend the associated XAML namespace to be the default XAML namespace in most usage cases for your framework or library, you should still specify a non-empty string as the recommended prefix for a XAML namespace. Сведения о пространстве имен XAML по умолчанию переносятся в отдельные файлы XAML и потоки узлов XAML.Default XAML namespace information is carried in individual XAML files and XAML node streams. Пространство имен XAML по умолчанию и его определение в данном источнике XAML можно легко хранить для сериализации на основе вариантов без использования XmlnsPrefixAttribute.The default XAML namespace and how it is defined in a given XAML source can easily be perpetuated for per-case serialization without using XmlnsPrefixAttribute. Однако полезен XmlnsPrefixAttribute в случаях, когда автор XAML решил сопоставлять пространство имен XAML по умолчанию с каким-либо другим.However, the XmlnsPrefixAttribute is useful for cases where the XAML author has chosen to map the default XAML namespace to something else. В этом сценарии текстовый редактор XAML, внедренный в среду разработки, может XmlnsPrefixAttribute использовать в качестве подсказки для первоначального сопоставления xmlns пространства имен XAML.In this scenario a XAML text editor embedded in a design environment can use XmlnsPrefixAttribute as a hint for an initial XAML namespace xmlns mapping. Кроме того, среда разработки может добавлять JIT-сопоставления в резервный XAML для таких метафор проектирования, как перетаскивание объектов из панели элементов и в рабочую область визуального конструирования.Or a design environment can add just-in-time mappings to the backing XAML for design metaphors such as dragging objects out of a toolbox and into a visual design surface. Также представить, что конструктор может одновременно поддерживать несколько платформ, поддерживающих XAML, и имеет общий сериализатор XAML, основанный .NET Framework службам XAML, а не зависящей от платформы сериализации.Also, it is conceivable that a designer could simultaneously support multiple XAML-enabling frameworks, and has a common XAML serializer that relies on .NET Framework XAML Services rather than framework-specific serialization. XmlnsPrefixAttribute Указание для этих сценариев помогает сделать использование XAML для ваших типов более переносимым и надежным, если XAML перемещается между инструментами проектирования или является циклическим обменом между редакторами XAML и другими потребителями, такими как компиляторы разметки или другие. сериализовать.Specifying a XmlnsPrefixAttribute for these scenarios helps make the XAML usage for your types more portable and robust if the XAML is exchanged between design tools, or undergoes a round trip between XAML editors and other consumers such as markup compilers or other serialization.

Конструкторы

XmlnsPrefixAttribute(String, String)

Инициализирует новый экземпляр класса XmlnsPrefixAttribute.Initializes a new instance of the XmlnsPrefixAttribute class.

Свойства

Prefix

Получает рекомендуемый префикс, связанный с этим атрибутом.Gets the recommended prefix associated with this attribute.

TypeId

При реализации в производном классе возвращает уникальный идентификатор для этого Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Унаследовано от Attribute)
XmlNamespace

Получает связанный с этим атрибутом идентификатор пространства имен XAML.Gets the XAML namespace identifier associated with this attribute.

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.Returns a value that indicates whether this instance is equal to a specified object.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код данного экземпляра.Returns the hash code for this instance.

(Унаследовано от Attribute)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Явные реализации интерфейса

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

(Унаследовано от Attribute)

Применяется к

Дополнительно