MarkupExtension MarkupExtension MarkupExtension MarkupExtension Class

Определение

Предоставляет базовый класс для реализаций расширений разметки XAML, которые могут поддерживаться службами XAML платформы .NET Framework и другими средствами чтения и записи XAML.Provides a base class for XAML markup extension implementations that can be supported by .NET Framework XAML Services and other XAML readers and XAML writers.

public ref class MarkupExtension abstract
public abstract class MarkupExtension
type MarkupExtension = class
Public MustInherit Class MarkupExtension
Наследование
MarkupExtensionMarkupExtensionMarkupExtensionMarkupExtension
Производный

Комментарии

Расширения разметки возвращают объекты для вызывающих объектов, на основе входных строковых значений атрибутов или элементов разметки в XAML.Markup extensions return objects to callers, based on the input of string attribute values or markup elements in XAML. Расширения разметки возвращают объекты в более сложных, как можно выполнить только преобразователей типов.Markup extensions return objects in a more sophisticated way than type converters alone can accomplish. Средство записи объектов XAML вызывает преобразователь типов, так как тип или член имеет связанные с ним реализация преобразователя типов.A XAML object writer invokes a type converter because a type or member has a type converter implementation associated with it. Из среды CLR отсчета, это означает, что тип или член является TypeConverterAttribute с атрибутами.From the CLR frame of reference, this means that a type or member is TypeConverterAttribute attributed. С точки зрения системы типов XAML, это означает, что тип XAML или XAML члена имеет значение для его TypeConverter свойство.From the XAML type system perspective, this means that a XAML type or a XAML member has a value for its TypeConverter property. Вызов преобразователя типов привязан к определению типа или свойства и всегда вызывается обработки в этих случаях XAML.The invocation of a type converter is tied to the type or property definition, and is always invoked by XAML processing for these cases. Напротив расширение разметки дополнительные под контролем пользовательского кода и разметки, созданной пользователем и могут применяться каждый раз, когда это требуется сценарий приложения.In contrast, a markup extension is more under the control of user code and user-produced markup, and can be applied whenever an application scenario demands it. Расширение разметки может вызываться и может использоваться для настройки различных члена типа значения, до тех пор, пока тип возвращаемого значения для расширения разметки может быть назначен этому значению.A markup extension can be invoked and can be used for setting different type-member values, so long as the markup extension's return type is assignable to that value.

Сведения о создании пользовательского расширения разметки, см. в разделе ProvideValue.For information on creating a custom markup extension, see ProvideValue. Дополнительные сведения о расширениях разметки в целом см. в разделе Markup Extensions for XAML Overview.For more information on markup extensions in general, see Markup Extensions for XAML Overview. Если вы создаете в WPF и использование или Создание расширений разметки для XAML, другие важные сведения можно найти в разделе расширения разметки и XAML WPF.If you are building on WPF and using or creating markup extensions for XAML, other relevant information can be found in the topic Markup Extensions and WPF XAML.

ProvideValue Можно использовать метод каждой реализации расширения разметки IServiceProvider во время выполнения, которая может предоставить контекст.The ProvideValue method of each markup extension implementation can use an IServiceProvider at run time that can provide context. Это IServiceProvider затем запрашивается для определенных служб, которые передают сведения, такие как IProvideValueTarget или IXamlTypeResolver.This IServiceProvider is then queried for specific services that pass information, such as IProvideValueTarget or IXamlTypeResolver. Дополнительные сведения о контекстах служб для расширения разметки, см. в разделе служебные контексты, доступные для расширений разметки и преобразователей типов.For more information on service contexts for a markup extension, see Service Contexts Available to Type Converters and Markup Extensions.

Производные классы должны быть снабжены атрибутом MarkupExtensionReturnTypeAttribute для информирования пользователей наиболее определенный возвращаемый тип, доступных из расширения разметки ProvideValue реализации.Derived classes should be attributed with MarkupExtensionReturnTypeAttribute to inform consumers of the most specific return type available from the markup extension's ProvideValue implementation.

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

MarkupExtension() MarkupExtension() MarkupExtension() MarkupExtension()

Инициализирует новый экземпляр класса, производного от MarkupExtension.Initializes a new instance of a class derived from MarkupExtension.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ProvideValue(IServiceProvider) ProvideValue(IServiceProvider) ProvideValue(IServiceProvider) ProvideValue(IServiceProvider)

При реализации в производном классе возвращает объект, предоставляемый как значение целевого свойства для данного расширения разметки.When implemented in a derived class, returns an object that is provided as the value of the target property for this markup extension.

ToString() ToString() ToString() ToString()

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

(Inherited from Object)

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

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