DependencyProperty.RegisterAttached Metodo

Definizione

Registra una proprietà associata con il sistema di proprietà.

Overload

Nome Descrizione
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à.

RegisterAttached(String, Type, Type)

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

public:
 static System::Windows::DependencyProperty ^ RegisterAttached(System::String ^ name, Type ^ propertyType, Type ^ ownerType);
public static System.Windows.DependencyProperty RegisterAttached(string name, Type propertyType, Type ownerType);
static member RegisterAttached : string * Type * Type -> System.Windows.DependencyProperty
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type) As DependencyProperty

Parametri

name
String

Nome della proprietà di dipendenza da registrare.

propertyType
Type

Tipo della proprietà.

ownerType
Type

Tipo di proprietario che registra la proprietà di dipendenza.

Valori restituiti

Identificatore della proprietà di dipendenza che deve essere usato per impostare il valore di un public static readonly campo nella classe. Tale identificatore viene quindi usato per fare riferimento alla proprietà di dipendenza in un secondo momento, per operazioni quali l'impostazione del relativo valore a livello di codice o il recupero dei metadati.

Esempio

Nell'esempio seguente viene registrata una proprietà associata in una classe astratta usando questa RegisterAttached firma.

public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject2)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
    element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
    return (Boolean)element.GetValue(IsBubbleSourceProperty);
}
Public Shared ReadOnly IsBubbleSourceProperty As DependencyProperty = DependencyProperty.RegisterAttached("IsBubbleSource", GetType(Boolean), GetType(AquariumObject2))
Public Shared Sub SetIsBubbleSource(ByVal element As UIElement, ByVal value As Boolean)
    element.SetValue(IsBubbleSourceProperty, value)
End Sub
Public Shared Function GetIsBubbleSource(ByVal element As UIElement) As Boolean
    Return CType(element.GetValue(IsBubbleSourceProperty), Boolean)
End Function

Commenti

Una proprietà associata è un concetto di proprietà definito da Extensible Application Markup Language (XAML). macchine virtuali Windows implementa le proprietà associate come proprietà di dipendenza. Poiché le proprietà associate macchine virtuali Windows sono proprietà di dipendenza, possono avere metadati applicati che possono essere usati dal sistema di proprietà generale per operazioni quali le caratteristiche del layout dei report. Per altre informazioni, vedere Panoramica delle proprietà associate.

Per altre informazioni sulla registrazione delle proprietà di dipendenza, vedere DependencyProperty.

Vedi anche

Si applica a

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.

public:
 static System::Windows::DependencyProperty ^ RegisterAttached(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata);
public static System.Windows.DependencyProperty RegisterAttached(string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata);
static member RegisterAttached : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyProperty
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata) As DependencyProperty

Parametri

name
String

Nome della proprietà di dipendenza da registrare.

propertyType
Type

Tipo della proprietà.

ownerType
Type

Tipo di proprietario che registra la proprietà di dipendenza.

defaultMetadata
PropertyMetadata

Metadati delle proprietà per la proprietà di dipendenza. Questo può includere il valore predefinito e altre caratteristiche.

Valori restituiti

Identificatore della proprietà di dipendenza che deve essere usato per impostare il valore di un public static readonly campo nella classe. Tale identificatore viene quindi usato per fare riferimento alla proprietà di dipendenza in un secondo momento, per operazioni quali l'impostazione del relativo valore a livello di codice o il recupero dei metadati.

Commenti

Una proprietà associata è un concetto di proprietà definito da Extensible Application Markup Language (XAML). macchine virtuali Windows implementa le proprietà associate come proprietà di dipendenza. Poiché le proprietà associate macchine virtuali Windows sono proprietà di dipendenza, possono avere metadati applicati che possono essere usati dal sistema di proprietà generale per operazioni quali le caratteristiche del layout dei report. Per altre informazioni, vedere Panoramica delle proprietà associate.

Per altre informazioni sulla registrazione delle proprietà di dipendenza, vedere DependencyProperty.

Usare RegisterAttached per proprietà di dipendenza che ereditano valore

Uno scenario specifico per la registrazione di una proprietà di dipendenza con RegisterAttached invece di consiste nel supportare l'ereditarietà del valore della Register proprietà. È consigliabile registrare proprietà di dipendenza che ereditano valori con RegisterAttached anche se la classe definisce funzioni di accesso wrapper di proprietà che espongono la proprietà di dipendenza e, anche se non si intende esporre i metodi statici Get* e Set* per fornire funzioni di accesso true di supporto delle proprietà associate. Anche se l'ereditarietà dei valori di proprietà potrebbe funzionare per le proprietà di dipendenza non associate, il comportamento di ereditarietà per una proprietà non associata attraverso determinati limiti di elemento nell'albero di runtime non è definito. La registrazione della proprietà come associata rende effettivamente la proprietà associata una proprietà globale al sistema di proprietà e garantisce che l'ereditarietà del valore della proprietà funzioni attraverso tutti i limiti di un albero degli elementi. Ricorda di usare sempre RegisterAttached per registrare le proprietà dove si specifica Inherits nei metadati. Per altre informazioni, vedere Ereditarietà dei valori delle proprietà.

Vedi anche

Si applica a

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à.

public:
 static System::Windows::DependencyProperty ^ RegisterAttached(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ defaultMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyProperty RegisterAttached(string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata defaultMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterAttached : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyProperty
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyProperty

Parametri

name
String

Nome della proprietà di dipendenza da registrare.

propertyType
Type

Tipo della proprietà.

ownerType
Type

Tipo di proprietario che registra la proprietà di dipendenza.

defaultMetadata
PropertyMetadata

Metadati delle proprietà per la proprietà di dipendenza. Questo può includere il valore predefinito e altre caratteristiche.

validateValueCallback
ValidateValueCallback

Riferimento a un callback che deve eseguire qualsiasi convalida personalizzata del valore della proprietà di dipendenza oltre la convalida tipica del tipo.

Valori restituiti

Identificatore della proprietà di dipendenza che deve essere usato per impostare il valore di un public static readonly campo nella classe. Tale identificatore viene quindi usato per fare riferimento alla proprietà di dipendenza in un secondo momento, per operazioni quali l'impostazione del relativo valore a livello di codice o il recupero dei metadati.

Esempio

Nell'esempio seguente viene registrata una proprietà associata in una classe astratta usando questa RegisterAttached firma. Questa proprietà associata è una proprietà del tipo di enumerazione e la registrazione aggiunge un callback di convalida per verificare che il valore specificato sia un valore dell'enumerazione .

public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject2)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
    element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
    return (Boolean)element.GetValue(IsBubbleSourceProperty);
}
Public Shared ReadOnly IsBubbleSourceProperty As DependencyProperty = DependencyProperty.RegisterAttached("IsBubbleSource", GetType(Boolean), GetType(AquariumObject2))
Public Shared Sub SetIsBubbleSource(ByVal element As UIElement, ByVal value As Boolean)
    element.SetValue(IsBubbleSourceProperty, value)
End Sub
Public Shared Function GetIsBubbleSource(ByVal element As UIElement) As Boolean
    Return CType(element.GetValue(IsBubbleSourceProperty), Boolean)
End Function

Commenti

Una proprietà associata è un concetto di proprietà definito da Extensible Application Markup Language (XAML). macchine virtuali Windows implementa le proprietà associate come proprietà di dipendenza. Poiché le proprietà associate macchine virtuali Windows sono proprietà di dipendenza, possono avere metadati applicati che possono essere usati dal sistema di proprietà generale per operazioni quali le caratteristiche del layout dei report. Per altre informazioni, vedere Panoramica delle proprietà associate.

Per altre informazioni sulla registrazione delle proprietà di dipendenza, vedere DependencyProperty.

Usare RegisterAttached per proprietà di dipendenza che ereditano valore

Uno scenario specifico per la registrazione di una proprietà di dipendenza con RegisterAttached invece di consiste nel supportare l'ereditarietà del valore della Register proprietà. È consigliabile registrare proprietà di dipendenza che ereditano valori con RegisterAttached anche se la classe definisce funzioni di accesso wrapper di proprietà che espongono la proprietà di dipendenza e, anche se non si intende esporre i metodi statici Get* e Set* per fornire funzioni di accesso true di supporto delle proprietà associate. Anche se l'ereditarietà dei valori di proprietà potrebbe funzionare per le proprietà di dipendenza non associate, il comportamento di ereditarietà per una proprietà non associata attraverso determinati limiti di elemento nell'albero di runtime non è definito. La registrazione della proprietà come associata rende effettivamente la proprietà associata una proprietà globale al sistema di proprietà e garantisce che l'ereditarietà del valore della proprietà funzioni attraverso tutti i limiti di un albero degli elementi. Ricorda di usare sempre RegisterAttached per registrare le proprietà dove si specifica Inherits nei metadati. Per altre informazioni, vedere Ereditarietà dei valori delle proprietà.

Vedi anche

Si applica a