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. Дополнительные сведения см. в разделе "Типы, перенесенные из WPF в 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) |