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
- Наследование
- Атрибуты
Примеры
В следующем примере создается класс с именем 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) |