Condividi tramite


DependencyProperty Classe

Definizione

Rappresenta una proprietà che può essere impostata tramite metodi quali stili, data binding, animazione e 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

Un 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 del 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ò ereditare automaticamente il relativo 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 Panoramica dell'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 delle proprietà di dipendenza e convalida.

  • 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 Panoramica delle 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ò utilizzare 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, usare il ownerType.sintassi propertyName. Un esempio di proprietà associata è la proprietà DockPanel.Dock. Se si desidera creare una proprietà che può essere usata in tutti i tipi di DependencyObject, è necessario creare una proprietà associata. Per altre informazioni sulle proprietà associate, inclusa la relativa creazione, vedere Panoramica delle proprietà associate.

Utilizzo degli attributi XAML

<object property="dependencyPropertyName"/>  

-o-

<object property="ownerType.dependencyPropertyName"/>  

-o-

<object property="attachedPropertyOwnerType.attachedPropertyName"/>  

Valori XAML

dependencyPropertyName
Stringa che specifica il DependencyProperty.Name della proprietà di dipendenza desiderata. Questo può essere preceduto da un prefisso dello spazio dei nomi XML se la proprietà non si trova 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 il 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é il 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 per indicare che la proprietà esiste, ma non ha il relativo valore impostato dal sistema di 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 con il sistema di proprietà o si è aggiunto come proprietario della proprietà.

PropertyType

Ottiene il tipo utilizzato dalla proprietà di dipendenza per il relativo valore.

ReadOnly

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

ValidateValueCallback

Ottiene il callback di convalida dei valori per la proprietà di dipendenza.

Metodi

AddOwner(Type)

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

AddOwner(Type, PropertyMetadata)

Aggiunge un altro tipo come proprietario di una proprietà di dipendenza già registrata, fornendo i metadati della proprietà di dipendenza per la proprietà di dipendenza così come esiste nel tipo di proprietario specificato.

Equals(Object)

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

(Ereditato da Object)
GetHashCode()

Restituisce un codice hash per questo DependencyProperty.

GetMetadata(DependencyObject)

Restituisce i metadati per questa proprietà di dipendenza così come esiste nell'istanza dell'oggetto specificata.

GetMetadata(DependencyObjectType)

Restituisce i metadati per questa proprietà di dipendenza così come esiste in un tipo specificato.

GetMetadata(Type)

Restituisce i metadati per questa proprietà di dipendenza così come esiste in un tipo esistente specificato.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsValidType(Object)

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

IsValidValue(Object)

Determina se il valore specificato viene accettato per il tipo di proprietà tramite il controllo dei tipi di base e, potenzialmente, se è compreso nell'intervallo di valori consentito per tale tipo.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OverrideMetadata(Type, PropertyMetadata)

Specifica i metadati alternativi per questa proprietà di dipendenza quando è presente nelle istanze di un tipo specificato, sostituendo i metadati esistenti per la proprietà di dipendenza come ereditato dai tipi di base.

OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey)

Fornisce metadati alternativi per una proprietà di dipendenza di sola lettura quando è presente nelle istanze di un tipo specificato, ignorando i metadati forniti nella registrazione iniziale della proprietà di dipendenza. È necessario passare il DependencyPropertyKey per la proprietà di dipendenza di sola lettura per evitare di generare un'eccezione.

Register(String, Type, Type)

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

Register(String, Type, Type, PropertyMetadata)

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

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

Registra una proprietà di dipendenza con il nome della proprietà, il tipo di proprietà, il tipo di proprietario, i metadati della proprietà e un callback di convalida dei valori per la proprietà.

RegisterAttached(String, Type, Type)

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

RegisterAttached(String, Type, Type, PropertyMetadata)

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

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

Registra una proprietà associata con il tipo di proprietà, il tipo di proprietario, i metadati della proprietà e il callback di convalida dei valori per la proprietà.

RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata)

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

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

Registra una proprietà associata di sola lettura con il tipo di proprietà, il tipo di 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 di proprietà, il tipo di proprietario e i metadati delle proprietà 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