ContentPropertyAttribute Класс

Определение

Указывает, какое свойство типа является свойством содержимого XAML. Обработчик XAML использует эти сведения при обработке дочерних элементов XAML представлений XAML типа с атрибутом.

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

Примеры

В следующем примере создается класс с именем Film , который имеет примененный ContentPropertyAttribute объект . Свойство с именем Title указывается как свойство содержимого.

[ContentProperty("Title")]
public class Film
{
    public Film()
    {
    }

    public string Title
    {
        get { return _title; }
        set { _title = value; }
    }

    private string _title;
}
<ContentProperty("Title")>
Public Class Film
    Public Sub New()
    End Sub

    Public Property Title() As String
        Get
            Return _title
        End Get
        Set(ByVal value As String)
            _title = value
        End Set
    End Property

    Private _title As String
End Class

Комментарии

Если связанное свойство ContentPropertyAttribute объекта не имеет типа string или object, обработчик XAML пытается определить метод преобразования значений. Первый проверка предназначен для преобразования собственных типов либо примитивов языка XAML, либо конкретных собственных преобразований, включенных этой конкретной реализацией модуля записи XAML. Следующим шагом является поиск преобразователя типов. В реализациях .NET преобразователь типов определяется на TypeConverterAttribute основе применяемого уровня элемента или определения уровня типа. Если не удается определить преобразование значений, модуль записи объектов XAML обычно создает исключение.

Чтобы принять в качестве содержимого более одного элемента объекта, тип свойства содержимого XAML должен поддерживаться в качестве типа коллекции.

Inherited=true Из-за объявления атрибута значение для ContentPropertyAttribute обычно применяет обозначение свойства содержимого ко всем производным классам. Применение пустого ContentPropertyAttribute позволяет производной классу удалить объявление атрибута свойства содержимого базовым классом (и отметить, что класс не имеет свойства содержимого). Применение другого имени ContentPropertyAttribute заменяет наследуемый ContentPropertyAttribute на новый.

В предыдущих версиях платформа .NET Framework этот класс существовал в сборке WindowsBase для WPF, а также имел параллельную реализацию в Windows Communication Foundation (WCF). Начиная с платформа .NET Framework 4.0, ContentPropertyAttribute находится в сборке System.Xaml. Для получения дополнительной информации см. Types Migrated from WPF to System.Xaml.

Примечания об использовании WPF

Примером класса в Windows Presentation Foundation (WPF), использующего ContentPropertyAttribute , является ContentControl, от которого Button наследуется класс. Свойство ContentControl.Content — это свойство содержимого, заданное свойством ContentPropertyAttribute. Button Если экземпляр создается в XAML, ContentButton для элемента будет задан элемент, который находится между тегами кнопки "пуск" и "конец".

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

ContentPropertyAttribute()

Инициализирует новый экземпляр класса ContentPropertyAttribute.

ContentPropertyAttribute(String)

Инициализирует новый экземпляр класса ContentPropertyAttribute с использованием указанного имени.

Свойства

Name

Получает имя для свойства, которое является свойством содержимого.

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

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

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.

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

Возвращает хэш-код данного экземпляра.

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

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

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

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

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

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.

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

Создает неполную копию текущего объекта Object.

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

Возвращает строку, представляющую текущий объект.

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

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

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

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

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

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

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

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

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

Предоставляет доступ к открытым свойствам и методам объекта.

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

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

См. также раздел