DependencyProperty Classe

Definizione

Rappresenta una proprietà che può essere impostata tramite metodi, ad esempio stile, data binding, animazione ed ereditarietà.

public ref class DependencyProperty sealed
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public sealed class DependencyProperty
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
[<System.ComponentModel.TypeConverter("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>]
type DependencyProperty = class
Public NotInheritable Class DependencyProperty
Ereditarietà
DependencyProperty
Attributi

Commenti

A DependencyProperty supporta le funzionalità seguenti in Windows Presentation Foundation (WPF):

  • La proprietà può essere impostata in uno stile. Per altre informazioni, vedere Applicazione di stili e modelli.

  • La proprietà può essere impostata tramite il data binding. Per altre informazioni sulle proprietà di dipendenza di data binding, vedere Procedura: Associare le proprietà di due controlli.

  • La proprietà può essere impostata con un riferimento di risorsa dinamica. Per altre informazioni, vedere Risorse XAML.

  • La proprietà può ereditarne automaticamente il valore da un elemento padre nell'albero degli elementi. Per altre informazioni, vedere Ereditarietà del valore della proprietà.

  • La proprietà può essere animata. Per altre informazioni, vedere Cenni preliminari sull'animazione.

  • La proprietà può segnalare quando il valore precedente della proprietà è stato modificato e il valore della proprietà può essere coercito. Per altre informazioni, vedere Callback e convalida delle proprietà di dipendenza.

  • La proprietà segnala informazioni a WPF, ad esempio se la modifica di un valore di proprietà deve richiedere al sistema di layout di ricomporre gli oggetti visivi per un elemento.

  • La proprietà riceve il supporto in WPF Designer per Visual Studio. Ad esempio, la proprietà può essere modificata nella finestra Proprietà .

Per altre informazioni sulle proprietà di dipendenza, vedere Cenni preliminari sulle proprietà di dipendenza. Se si desidera che le proprietà dei tipi personalizzati supportino le funzionalità nell'elenco precedente, è necessario creare una proprietà di dipendenza. Per informazioni su come creare proprietà di dipendenza personalizzate, vedere Proprietà di dipendenza personalizzate.

Una proprietà associata è una proprietà che consente a qualsiasi oggetto di segnalare informazioni al tipo che definisce la proprietà associata. In WPF qualsiasi tipo che eredita da DependencyObject può usare una proprietà associata indipendentemente dal fatto che il tipo erediti dal tipo che definisce la proprietà. Una proprietà associata è una funzionalità del linguaggio XAML. Per impostare una proprietà associata in XAML, usa ownerType. sintassi propertyName . Un esempio di proprietà associata è la DockPanel.Dock proprietà . Se si vuole creare una proprietà che può essere usata in tutti i DependencyObject tipi, è necessario creare una proprietà associata. Per altre informazioni sulle proprietà associate, incluse le procedure per crearle, vedere Panoramica delle proprietà associate.

Uso della sintassi XAML per gli attributi

<object property="dependencyPropertyName"/>  

-oppure-

<object property="ownerType.dependencyPropertyName"/>  

-oppure-

<object property="attachedPropertyOwnerType.attachedPropertyName"/>  

Valori XAML

dependencyPropertyName
Stringa che specifica l'oggetto DependencyProperty.Name della proprietà di dipendenza desiderata. Questo può essere preceduto da un prefisso dello spazio dei nomi XML se la proprietà non è nello spazio dei nomi XML predefinito (per informazioni dettagliate, vedere Spazi dei nomi XAML e Mapping dello spazio dei nomi per XAML WPF).

ownerType.dependencyPropertyName
Stringa che specifica un tipo di proprietario di una proprietà di dipendenza, un punto (.), quindi .DependencyProperty.Name ownerType può anche essere preceduto da un prefisso dello spazio dei nomi XML. Questo utilizzo è particolare per gli stili e i modelli con associazione tardiva, in cui il proprietario della proprietà di dipendenza deve essere specificato per il contesto di analisi perché TargetType non è ancora noto. Per altre informazioni, vedere Applicazione di stili e modelli.

attachedPropertyOwnerType . attachedPropertyName
Stringa che specifica il proprietario di una proprietà associata, un punto (.), quindi il nome della proprietà associata. attachedPropertyOwnerType può anche essere preceduto da un prefisso dello spazio dei nomi XML.

Campi

UnsetValue

Specifica un valore statico utilizzato dal sistema di proprietà WPF anziché null indicare che la proprietà esiste, ma non ha il relativo valore impostato dal sistema delle proprietà.

Proprietà

DefaultMetadata

Ottiene i metadati predefiniti della proprietà di dipendenza.

GlobalIndex

Ottiene un valore generato internamente che identifica in modo univoco la proprietà di dipendenza.

Name

Ottiene il nome della proprietà di dipendenza.

OwnerType

Ottiene il tipo dell'oggetto che ha registrato la proprietà di dipendenza nel sistema di proprietà o che si è aggiunto come proprietario della proprietà.

PropertyType

Ottiene il tipo che la proprietà di dipendenza utilizza per il valore.

ReadOnly

Ottiene un valore che indica se la proprietà di dipendenza identificata da questa istanza DependencyProperty è una proprietà di dipendenza di sola lettura.

ValidateValueCallback

Ottiene il callback di convalida del valore per la proprietà di dipendenza.

Metodi

AddOwner(Type)

Aggiunge un altro tipo come proprietario di una proprietà di dipendenza che è già stata registrata.

AddOwner(Type, PropertyMetadata)

Aggiunge un altro tipo come proprietario di una proprietà di dipendenza già registrata, fornendo i metadati della proprietà di dipendenza nello stato attuale per il tipo di proprietario specificato.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Ottiene un codice hash per l'oggetto DependencyProperty.

GetMetadata(DependencyObject)

Restituisce i metadati per questa proprietà di dipendenza nello stato attuale per l'istanza dell'oggetto specificato.

GetMetadata(DependencyObjectType)

Restituisce i metadati per questa proprietà di dipendenza nello stato attuale per un tipo specificato.

GetMetadata(Type)

Restituisce i metadati per questa proprietà di dipendenza nello stato attuale per un tipo esistente specificato.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsValidType(Object)

Determina se un valore specificato è accettabile per questo tipo di proprietà di dipendenza, come controllato per il tipo di proprietà fornito nella registrazione originale della proprietà di dipendenza.

IsValidValue(Object)

Determina se il valore fornito è accettato per il tipo di proprietà tramite il controllo del tipo di base e anche, potenzialmente, se è all'interno dell'intervallo consentito dei valori per quel tipo.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OverrideMetadata(Type, PropertyMetadata)

Specifica i metadati alternativi per questa proprietà di dipendenza quando è presente nelle istanze di un tipo specificato, eseguendo l'override dei metadati esistenti per la proprietà di dipendenza quando è stata ereditata dai tipi di base.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Specifica i metadati alternativi per una proprietà di dipendenza di sola lettura quando è presente nelle istanze di un tipo specificato, in sostituzione dei metadati specificati nella registrazione della proprietà di dipendenza iniziale. È necessario passare DependencyPropertyKey per la proprietà di dipendenza di sola lettura per evitare la generazione di un'eccezione.

Register(String, Type, Type)

Registra una proprietà di dipendenza con il nome di proprietà, il tipo di proprietà e il tipo di proprietario specificati.

Register(String, Type, Type, PropertyMetadata)

Registra una proprietà di dipendenza con il nome, il tipo e i metadati della proprietà e il tipo di proprietario specificati.

Register(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una proprietà di dipendenza con il nome di proprietà, il tipo di proprietà, il tipo di proprietario, i metadati della proprietà e un callback di convalida del valore della proprietà specificati.

RegisterAttached(String, Type, Type)

Registra una proprietà associata con il nome di proprietà, il tipo di proprietà e il tipo di proprietario specificati.

RegisterAttached(String, Type, Type, PropertyMetadata)

Registra una proprietà associata al nome, al tipo e ai metadati della proprietà e al tipo di proprietario specificati.

RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una proprietà associata con il tipo della proprietà, il tipo del proprietario, i metadati della proprietà e un callback di convalida del valore per la proprietà specificati.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

Registra una proprietà associata di sola lettura con il tipo e i metadati della proprietà e il tipo di proprietario specificati.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una proprietà associata di sola lettura, con il tipo della proprietà, il tipo del proprietario, i metadati della proprietà e un callback di convalida specificati.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Registra una proprietà di dipendenza di sola lettura con il tipo e i metadati della proprietà e il tipo di proprietario specificati.

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Registra una proprietà di dipendenza di sola lettura, con il tipo di proprietà, il tipo di proprietario, i metadati della proprietà e un callback di convalida specificati.

ToString()

Restituisce la rappresentazione di stringa della proprietà di dipendenza.

Si applica a

Vedi anche