ContentPropertyAttribute Třída

Definice

Určuje, která vlastnost typu je vlastnost obsahu XAML. Procesor XAML používá tyto informace při zpracování podřízených elementů XAML reprezentací XAML atributu typu.

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
Dědičnost
ContentPropertyAttribute
Atributy

Příklady

Následující příklad vytvoří třídu s názvem Film , která má použitou ContentPropertyAttribute třídu. Vlastnost s názvem Title je označena jako vlastnost obsahu.

[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

Poznámky

Pokud přidružená vlastnost ContentPropertyAttribute není typu string nebo object, pokusí se procesor XAML identifikovat metodu převodu hodnoty. První kontrola se týká převodu nativního typu, a to buď primitiv jazyka XAML, nebo konkrétních nativních převodů povolených danou konkrétní implementací zapisovače XAML. Dalším krokem je vyhledání převaděče typů. V implementacích rozhraní .NET je převaděč typů identifikován na TypeConverterAttribute základě definice na úrovni člena nebo na úrovni typu, která platí. Pokud nelze identifikovat žádný převod hodnoty, zapisovač objektů XAML obvykle vyvolá výjimku.

Chcete-li přijmout více než jeden prvek objektu jako obsah, typ vlastnosti obsahu XAML musí být podporován jako typ kolekce.

Inherited=true Z důvodu deklarace atributu hodnota pro ContentPropertyAttribute obvykle používá označení vlastnosti obsahu také pro všechny odvozené třídy. Použití prázdné ContentPropertyAttribute umožňuje odvozené třídě odebrat deklaraci atributu vlastnosti obsahu základní třídou (a poznamenat, že třída nemá žádnou vlastnost obsahu). Pokud použijete jiný název ContentPropertyAttribute , zděděné ContentPropertyAttribute nahradíte novým.

V předchozích verzích rozhraní .NET Framework tato třída existovala v sestavení WINDOWSBase specifickém pro WPF a měla také paralelní implementaci v systému Windows Communication Foundation (WCF). Počínaje rozhraním .NET Framework 4.0 ContentPropertyAttribute je v sestavení System.Xaml. Další informace najdete v tématu Typy migrované z WPF do System.Xaml.

Poznámky k využití WPF

Příklad třídy v Windows Presentation Foundation (WPF), která používá ContentPropertyAttribute , je ContentControl, ze které Button třída dědí. Vlastnost ContentControl.Content je vlastnost obsahu nastavená objektem ContentPropertyAttribute. Button Pokud je instance vytvořena v XAML, Content bude nastavena Button na element, který je mezi značkami start a end button.

Konstruktory

ContentPropertyAttribute()

Inicializuje novou instanci ContentPropertyAttribute třídy.

ContentPropertyAttribute(String)

Inicializuje novou instanci ContentPropertyAttribute třídy pomocí zadaného názvu.

Vlastnosti

Name

Získá název vlastnosti, která je vlastnost obsahu.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)

Metody

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Viz také