ContentPropertyAttribute Klass

Definition

Anger vilken egenskap av en typ som är egenskapen XAML-innehåll. En XAML-processor använder den här informationen vid bearbetning av XAML-underordnade element i XAML-representationer av den tillskrivna typen.

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
Arv
ContentPropertyAttribute
Attribut

Exempel

I följande exempel skapas en klass med namnet Film som har tillämpats ContentPropertyAttribute . Egenskapen med namnet Title anges som innehållsegenskap.

[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

Kommentarer

Om den associerade egenskapen för en ContentPropertyAttribute inte är av typen string eller objectförsöker en XAML-processor identifiera en värdekonverteringsteknik. Den första kontrollen gäller konvertering av ursprunglig typ, antingen av XAML-språkprimitiver eller specifika interna konverteringar som aktiveras av den specifika XAML-skrivarimplementeringen. Nästa steg är att leta efter en typkonverterare. I de .NET implementeringarna identifieras en typkonverterare baserat på TypeConverterAttribute på antingen den medlemsnivå eller typnivådefinition som gäller. Om ingen värdekonvertering kan identifieras utlöser en XAML-objektskrivare vanligtvis ett undantag.

För att kunna acceptera mer än ett objektelement som innehåll måste typen av XAML-innehållsegenskap vara stödbar som en samlingstyp.

På grund av deklarationen Inherited=true av attributet tillämpar ett värde för en ContentPropertyAttribute normalt en egenskapsbeteckning för innehåll även för alla härledda klasser. Om du tillämpar ett tomt ContentPropertyAttribute värde kan en härledd klass ta bort en deklaration av ett innehållsegenskapsattribut av en basklass (och observera att klassen inte har någon innehållsegenskap). Om du använder ett annat namn ContentPropertyAttribute ersätts ärvda ContentPropertyAttribute med den nya.

I tidigare versioner av .NET Framework fanns den här klassen i den WPF specifika sammansättningen WindowsBase och hade även en parallell implementering i Windows Communication Foundation (WCF). Från och med .NET Framework 4.0 finns ContentPropertyAttribute i System.Xaml-sammansättningen. Mer information finns i Types Migrerad från WPF till System.Xaml.

WPF-användningsanteckningar

Ett exempel på en klass i Windows Presentation Foundation (WPF) som använder ContentPropertyAttribute är ContentControl, som klassen Button ärver från. Egenskapen ContentControl.Content är den innehållsegenskap som anges av ContentPropertyAttribute. Om en Button instansieras i XAML Content , anges för Button -elementet som är mellan start- och slutknapptaggar.

Konstruktorer

Name Description
ContentPropertyAttribute()

Initierar en ny instans av ContentPropertyAttribute klassen.

ContentPropertyAttribute(String)

Initierar en ny instans av ContentPropertyAttribute klassen med hjälp av det angivna namnet.

Egenskaper

Name Description
Name

Hämtar namnet på egenskapen som är innehållsegenskapen.

TypeId

När den implementeras i en härledd klass hämtar du en unik identifierare för den här Attribute.

(Ärvd från Attribute)

Metoder

Name Description
Equals(Object)

Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
GetHashCode()

Returnerar hash-koden för den här instansen.

(Ärvd från Attribute)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IsDefaultAttribute()

När den åsidosättas i en härledd klass anger du om värdet för den här instansen är standardvärdet för den härledda klassen.

(Ärvd från Attribute)
Match(Object)

När den åsidosätts i en härledd klass returneras ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

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

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

(Ärvd från Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som kan användas för att hämta typinformationen för ett gränssnitt.

(Ärvd från Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

(Ärvd från Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

(Ärvd från Attribute)

Gäller för

Se även