ContentPropertyAttribute Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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) |