ContentPropertyAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Indica quale proprietà di un tipo è la proprietà di contenuto XAML. Un processore XAML usa queste informazioni durante l'elaborazione degli elementi figlio XAML delle rappresentazioni XAML del tipo con attributo.
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
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene creata una classe denominata Film
a cui è applicato un oggetto ContentPropertyAttribute . La proprietà denominata Title
è indicata come proprietà content.
[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
Commenti
Se la proprietà associata di un ContentPropertyAttribute oggetto non è di tipo string
o object
, un processore XAML tenta di identificare una tecnica di conversione di valori. Il primo controllo riguarda la conversione del tipo nativo, le primitive del linguaggio XAML o le conversioni native specifiche abilitate da tale particolare implementazione del writer XAML. Il passaggio successivo consiste nel cercare un convertitore di tipi. Nelle implementazioni di .NET viene identificato un convertitore di tipi basato sulla TypeConverterAttribute definizione del livello membro o del livello di tipo applicabile. Se non è possibile identificare alcuna conversione di valori, un writer di oggetti XAML genera in genere un'eccezione.
Per accettare più di un singolo elemento oggetto come contenuto, il tipo della proprietà del contenuto XAML deve essere supportabile come tipo di raccolta.
A causa della Inherited=true
dichiarazione dell'attributo, anche un valore per un ContentPropertyAttribute oggetto applica una designazione di proprietà contenuto a tutte le classi derivate. L'applicazione di un oggetto vuoto ContentPropertyAttribute consente a una classe derivata di rimuovere una dichiarazione di un attributo di proprietà del contenuto da una classe base (e per notare che la classe non ha alcuna proprietà di contenuto). L'applicazione di un nome ContentPropertyAttribute diverso sostituisce l'oggetto ereditato ContentPropertyAttribute con quello nuovo.
Nelle versioni precedenti di .NET Framework, questa classe esisteva nell'assembly specifico di WPF WindowsBase e aveva anche un'implementazione parallela in Windows Communication Foundation (WCF). A partire da .NET Framework 4.0, ContentPropertyAttribute si trova nell'assembly System.Xaml. Per altre informazioni, vedere Types Migrated from WPF to System.Xaml.
Note sull'utilizzo di WPF
Esempio di classe in Windows Presentation Foundation (WPF) che usa ContentPropertyAttribute è ContentControl, da cui eredita la Button classe . La ContentControl.Content proprietà è la proprietà content impostata da ContentPropertyAttribute. Se viene Button creata un'istanza in XAML, l'oggetto ButtonContent di verrà impostato sull'elemento compreso tra i tag del pulsante iniziale e finale.
Costruttori
ContentPropertyAttribute() |
Inizializza una nuova istanza della classe ContentPropertyAttribute. |
ContentPropertyAttribute(String) |
Inizializza una nuova istanza della classe ContentPropertyAttribute usando il nome specificato. |
Proprietà
Name |
Ottiene il nome della proprietà che è la proprietà di contenuto. |
TypeId |
Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute. (Ereditato da Attribute) |
Metodi
Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
GetHashCode() |
Restituisce il codice hash per l'istanza. (Ereditato da Attribute) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IsDefaultAttribute() |
In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute) |
Match(Object) |
Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia. (Ereditato da Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute) |