Leggi in inglese

Condividi tramite


DependencyObject Classe

Definizione

Importante

Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Rappresenta un oggetto che fa parte del sistema di proprietà di dipendenza.

C#
public class DependencyObject : System.Windows.Threading.DispatcherObject
C#
[System.Windows.Markup.NameScopeProperty("NameScope", typeof(System.Windows.NameScope))]
public class DependencyObject : System.Windows.Threading.DispatcherObject
Ereditarietà
DependencyObject
Derivato
Attributi

Esempio

L'esempio seguente deriva da DependencyObject per creare una nuova classe astratta. La classe registra quindi una proprietà associata e include membri di supporto per tale proprietà associata.

C#
public abstract class AquariumObject3 : DependencyObject
{
    public enum Bouyancy
    {
        Floats,
        Sinks,
        Drifts
    }
    public static readonly DependencyProperty BouyancyProperty = DependencyProperty.RegisterAttached(
      "Bouyancy",
      typeof(Bouyancy),
      typeof(AquariumObject3),
      new FrameworkPropertyMetadata(Bouyancy.Floats, FrameworkPropertyMetadataOptions.AffectsArrange),
      new ValidateValueCallback(ValidateBouyancy)
    );
    public static void SetBouyancy(UIElement element, Bouyancy value)
    {
        element.SetValue(BouyancyProperty, value);
    }
    public static Bouyancy GetBouyancy(UIElement element)
    {
        return (Bouyancy)element.GetValue(BouyancyProperty);
    }
    private static bool ValidateBouyancy(object value)
    {
        Bouyancy bTest = (Bouyancy) value;
        return (bTest == Bouyancy.Floats || bTest == Bouyancy.Drifts || bTest==Bouyancy.Sinks);
    }
    public static readonly DependencyProperty IsDirtyProperty = DependencyProperty.Register(
      "IsDirty",
      typeof(Boolean),
      typeof(AquariumObject3)
    );
}

Commenti

La DependencyObject classe abilita i servizi di sistema delle proprietà Windows Presentation Foundation (WPF) nelle relative numerose classi derivate.

La funzione primaria del sistema delle proprietà consiste nel calcolare i valori delle proprietà e fornire una notifica di sistema sui valori modificati. Un'altra classe chiave che partecipa al sistema delle proprietà è DependencyProperty. DependencyProperty abilita la registrazione delle proprietà di dipendenza nel sistema delle proprietà e fornisce informazioni e identificazione su ogni proprietà di dipendenza, mentre DependencyObject come classe base consente agli oggetti di usare le proprietà di dipendenza.

DependencyObject i servizi e le caratteristiche includono quanto segue:

  • Supporto per l'hosting delle proprietà di dipendenza. Si registra una proprietà di dipendenza chiamando il metodo e archiviando il Register valore restituito del metodo come campo statico pubblico nella classe.

  • Supporto per l'hosting delle proprietà associate. Si registra una proprietà associata chiamando il metodo e archiviando il RegisterAttached valore restituito del metodo come campo di sola lettura statico pubblico nella classe. Sono disponibili anche requisiti aggiuntivi per i membri. Si noti che rappresenta un'implementazione specifica WPF per le proprietà associate. Per informazioni dettagliate, vedere Panoramica delle proprietà associate. La proprietà associata può quindi essere impostata su qualsiasi classe che deriva da DependencyObject.

  • Ottenere, impostare e cancellare i metodi di utilità per i valori di tutte le proprietà di dipendenza esistenti in DependencyObject.

  • Metadati, supporto dei valori di coerce, notifica modificata della proprietà e override dei callback per le proprietà di dipendenza o le proprietà associate. Inoltre, la DependencyObject classe facilita i metadati delle proprietà per proprietario per una proprietà di dipendenza.

  • Classe di base comune per le classi derivate da ContentElement, Freezableo Visual. Un'altraUIElement classe di elementi di base ha una gerarchia di classi che include Visual.)

Costruttori

DependencyObject()

Inizializza una nuova istanza della classe DependencyObject.

Proprietà

DependencyObjectType

Ottiene l'oggetto DependencyObjectType che esegue il wrapping del tipo CLR di questa istanza.

Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
IsSealed

Ottiene un valore che indica se l'istanza è attualmente sealed (di sola lettura).

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(Ereditato da DispatcherObject)
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà. La proprietà da cancellare è specificata da un identificatore DependencyProperty.

ClearValue(DependencyPropertyKey)

Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è specificata da un oggetto DependencyPropertyKey.

CoerceValue(DependencyProperty)

Assegna forzatamente il valore della proprietà di dipendenza specificata. Questa operazione viene eseguita richiamando qualsiasi funzione CoerceValueCallback specificata nei metadati della proprietà di dipendenza esistente nell'oggetto DependencyObject chiamante.

Equals(Object)

Determina se l'oggetto DependencyObject specificato equivale all'oggetto DependencyObject corrente.

GetHashCode()

Ottiene un codice hash per l'oggetto DependencyObject.

GetLocalValueEnumerator()

Crea un enumeratore specializzato per determinare le proprietà di dipendenza che presentano valori impostati localmente nell'oggetto DependencyObject.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject.

InvalidateProperty(DependencyProperty)

Valuta di nuovo il valore effettivo della proprietà di dipendenza specificata.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Richiamato ogni volta che viene aggiornato il valore effettivo di qualsiasi proprietà di dipendenza in DependencyObject. La proprietà di dipendenza specifica modificata viene indicata nei dati dell'evento.

ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se esistente.

SetCurrentValue(DependencyProperty, Object)

Imposta il valore di una proprietà di dipendenza senza modificare l'origine del valore.

SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dal relativo identificatore della proprietà di dipendenza.

SetValue(DependencyPropertyKey, Object)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

ShouldSerializeProperty(DependencyProperty)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà di dipendenza specificata.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)

Si applica a

Prodotto Versioni
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Vedi anche