Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe DependencyObject

rappresenta un oggetto che partecipa a proprietà di dipendenza sistema.

Spazio dei nomi:  System.Windows
Assembly:  WindowsBase (in WindowsBase.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[NameScopePropertyAttribute("NameScope", typeof(NameScope))]
public class DependencyObject : DispatcherObject

Il tipo DependencyObject espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoDependencyObjectInizializza una nuova istanza di DependencyObject classe.
In alto

  NomeDescrizione
Proprietà pubblicaDependencyObjectTypeottiene DependencyObjectType tale esegue il wrapping CLR tipo dell'istanza. 
Proprietà pubblicaDispatcher ottiene l'oggetto Dispatcher al quale l'oggetto DispatcherObject è associato. (Ereditato da DispatcherObject)
Proprietà pubblicaIsSealedOttiene un valore che indica se l'istanza attualmente è sealed (sola lettura).
In alto

  NomeDescrizione
Metodo pubblicoCheckAccessdetermina se il thread chiamante ha accesso a questo DispatcherObject. (Ereditato da DispatcherObject)
Metodo pubblicoClearValue(DependencyProperty)cancella il valore locale di una proprietà. La proprietà da cancellare viene specificata da un oggetto DependencyProperty identificatore.
Metodo pubblicoClearValue(DependencyPropertyKey)Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare viene specificata da un oggetto DependencyPropertyKey.
Metodo pubblicoCoerceValueAssegna il valore del specificato proprietà di dipendenza. Questa operazione viene eseguita utilizzando qualsiasi CoerceValueCallback funzione specificata nei metadati della proprietà per la proprietà di dipendenza come esiste nel chiamare DependencyObject.
Metodo pubblicoEqualsdetermina se fornito DependencyObject equivale a corrente DependencyObject. (Esegue l'override di Object.Equals(Object)).
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetHashCodeOttiene un oggetto codice hash per questo DependencyObject. (Esegue l'override di Object.GetHashCode()).
Metodo pubblicoGetLocalValueEnumeratorCrea un enumeratore specializzato per determinare quali proprietà di dipendenza in locale è impostato stima su questa DependencyObject.
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoGetValueRestituisce il valore effettivo corrente di un oggetto proprietà di dipendenza in questa istanza di un oggetto DependencyObject.
Metodo pubblicoInvalidatePropertyRivaluta il valore effettivo per la proprietà di dipendenza
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protettoOnPropertyChangedRichiamato ogni volta che il valore effettivo di qualsiasi proprietà di dipendenza in questo DependencyObject è stato aggiornato. La proprietà di dipendenza specifica che è stata modificata è indicata nei dati di evento.
Metodo pubblicoReadLocalValueRestituisce il valore locale di un oggetto proprietà di dipendenza, se esiste.
Metodo pubblicoSetCurrentValueImposta il valore di un oggetto proprietà di dipendenza senza modificarne il codice sorgente di valore.
Metodo pubblicoSetValue(DependencyProperty, Object)Imposta il valore locale di un oggetto proprietà di dipendenza, specificato dal relativo identificatore di proprietà di dipendenza.
Metodo pubblicoSetValue(DependencyPropertyKey, Object)Imposta il valore locale di un oggetto di sola lettura proprietà di dipendenza, specificato da DependencyPropertyKey identificatore della proprietà di dipendenza.
Metodo protettoShouldSerializePropertyRestituisce un valore che indica se i processi di serializzazione deve serializzare il valore fornito per proprietà di dipendenza.
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblicoVerifyAccess Impone che il thread chiamante abbia accesso a questo DispatcherObject. (Ereditato da DispatcherObject)
In alto

DependencyObject la classe consente Windows Presentation Foundation (WPF) servizi del sistema di proprietà alle numerose classi derivate.

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

DependencyObject i servizi e le caratteristiche includono quanto segue:

  • proprietà di dipendenza che ospita supporto. Registrare un oggetto Register chiamando di proprietà di dipendenza metodo e archiviare il valore restituito del metodo come campo statico pubblico nella classe.

  • proprietà associata che ospita supporto. Registrazione RegisterAttached chiamando di proprietà associata metodo e archiviare il valore restituito del metodo come campo di sola lettura statico pubblico nella classe. (Esistono inoltre requisiti membro aggiuntive; si noti che questo rappresenta un oggetto WPF implementazione specifica per le proprietà associate. Per ulteriori informazioni, vedere Cenni preliminari sulle proprietà associate). La proprietà associata può quindi essere impostata su qualsiasi classe che deriva da DependencyObject.

  • Ottenere, impostare e deselezionare i metodi di utilità per i valori di qualsiasi proprietà di dipendenza quello esistente in DependencyObject.

  • I metadati, assegnare il supporto di valore, la notifica proprietà e i callback di override proprietà di dipendenza o proprietà associate. inoltre, DependencyObject la classe semplifica i metadati della proprietà del per-proprietario per una proprietà di dipendenza.

  • una classe comune per le classi derivate da ContentElement, Freezable, o Visual. (UIElement, un altro classe dell'elemento di base, dispone di una gerarchia di classi che comprende Visual).

Nell'esempio deriva da DependencyObject per creare una nuova classe astratta. La classe si registra una proprietà associata e include i membri di supporto per la proprietà associata.


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)
    );
}


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro pubblico static (Shared in Visual Basic) di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft