DependencyProperty.RegisterAttached Metodo

Definizione

Registra una proprietà associata al sistema di proprietà.Registers an attached property with the property system.

Overload

RegisterAttached(String, Type, Type)

Registra una proprietà associata con il nome di proprietà, il tipo di proprietà e il tipo di proprietario specificati.Registers an attached property with the specified property name, property type, and owner type.

RegisterAttached(String, Type, Type, PropertyMetadata)

Registra una proprietà associata al nome, al tipo e ai metadati della proprietà e al tipo di proprietario specificati.Registers an attached property with the specified property name, property type, owner type, and property metadata.

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.Registers an attached property with the specified property type, owner type, property metadata, and value validation callback for the property.

RegisterAttached(String, Type, Type)

Registra una proprietà associata con il nome di proprietà, il tipo di proprietà e il tipo di proprietario specificati.Registers an attached property with the specified property name, property type, and owner type.

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.The name of the dependency property to register.

propertyType
Type

Tipo della proprietà.The type of the property.

ownerType
Type

Tipo di proprietario che registra la proprietà di dipendenza.The owner type that is registering the dependency property.

Restituisce

Identificatore della proprietà di dipendenza da usare per impostare il valore di un campo public static readonly nella classe.A dependency property identifier that should be used to set the value of a public static readonly field in your class. Tale identificatore viene quindi usato per fare riferimento in un secondo momento alla proprietà di dipendenza, per operazioni come l'impostazione del valore a livello di codice o per ottenere i metadati.That identifier is then used to reference the dependency property later, for operations such as setting its value programmatically or obtaining metadata.

Esempi

Nell'esempio seguente viene registrata una proprietà associata in una classe astratta utilizzando questa firma RegisterAttached.The following example registers an attached property on an abstract class using this RegisterAttached signature.

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)Extensible Application Markup Language (XAML).An attached property is a property concept defined by Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML). WPFWPF implementa le proprietà associate come proprietà di dipendenza.implements attached properties as dependency properties. Poiché le proprietà associate WPFWPF sono proprietà di dipendenza, possono avere i metadati applicati che possono essere usati dal sistema di proprietà generale per operazioni quali la creazione di report sulle caratteristiche del layout.Because the WPFWPF attached properties are dependency properties, they can have metadata applied that can be used by the general property system for operations such as reporting layout characteristics. Per altre informazioni, vedere Cenni preliminari sulle proprietà associate.For more information, see Attached Properties Overview.

Per ulteriori informazioni sulla registrazione delle proprietà di dipendenza, vedere DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Vedi anche

RegisterAttached(String, Type, Type, PropertyMetadata)

Registra una proprietà associata al nome, al tipo e ai metadati della proprietà e al tipo di proprietario specificati.Registers an attached property with the specified property name, property type, owner type, and property metadata.

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.The name of the dependency property to register.

propertyType
Type

Tipo della proprietà.The type of the property.

ownerType
Type

Tipo di proprietario che registra la proprietà di dipendenza.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata

Metadati della proprietà per la proprietà di dipendenza.Property metadata for the dependency property. Può essere incluso il valore predefinito così come altre caratteristiche.This can include the default value as well as other characteristics.

Restituisce

Identificatore della proprietà di dipendenza da usare per impostare il valore di un campo public static readonly nella classe.A dependency property identifier that should be used to set the value of a public static readonly field in your class. Tale identificatore viene quindi usato per fare riferimento in un secondo momento alla proprietà di dipendenza, per operazioni come l'impostazione del valore a livello di codice o per ottenere i metadati.That identifier is then used to reference the dependency property later, for operations such as setting its value programmatically or obtaining metadata.

Commenti

Una proprietà associata è un concetto di proprietà definito da Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML).An attached property is a property concept defined by Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML). WPFWPF implementa le proprietà associate come proprietà di dipendenza.implements attached properties as dependency properties. Poiché le proprietà associate WPFWPF sono proprietà di dipendenza, possono avere i metadati applicati che possono essere usati dal sistema di proprietà generale per operazioni quali la creazione di report sulle caratteristiche del layout.Because the WPFWPF attached properties are dependency properties, they can have metadata applied that can be used by the general property system for operations such as reporting layout characteristics. Per altre informazioni, vedere Cenni preliminari sulle proprietà associate.For more information, see Attached Properties Overview.

Per ulteriori informazioni sulla registrazione delle proprietà di dipendenza, vedere DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Usare RegisterAttached per le proprietà di dipendenza che ereditano il valoreUse RegisterAttached for Value-inheriting Dependency Properties

Uno scenario particolare per la registrazione di una proprietà di dipendenza con RegisterAttached anziché Register consiste nel supportare l'ereditarietà del valore della proprietà.One particular scenario for registering a dependency property with RegisterAttached instead of Register is to support property value inheritance. È necessario registrare le proprietà di dipendenza che ereditano il valore con RegisterAttached anche se la classe definisce le funzioni di accesso del wrapper di proprietà che espongono la proprietà di dipendenza e anche se non si prevede di esporre metodi get * e set * statici per fornire funzioni di accesso al supporto delle proprietà associate true.You should register value-inheriting dependency properties with RegisterAttached even if the class defines property wrapper accessors that expose the dependency property, and even if you do not intend to expose Get* and Set* static methods to provide true attached property support accessors. Sebbene l'ereditarietà del valore della proprietà possa sembrare funzionante per le proprietà di dipendenza non associate, il comportamento di ereditarietà per una proprietà non associata attraverso determinati limiti degli elementi nell'albero di runtime non è definito.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. La registrazione della proprietà come connessa rende la proprietà associata una proprietà globale al sistema di proprietà e assicura che l'ereditarietà del valore della proprietà funzioni in tutti i limiti di un albero degli elementi.Registering the property as attached effectively makes the attached property a global property to the property system, and assures that property value inheritance works across all boundaries in an element tree. Usare sempre RegisterAttached per registrare le proprietà in cui si specifica Inherits nei metadati.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Per altre informazioni, vedere Ereditarietà del valore della proprietà.For more information, see Property Value Inheritance.

Vedi anche

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.Registers an attached property with the specified property type, owner type, property metadata, and value validation callback for the property.

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

Parametri

name
String

Nome della proprietà di dipendenza da registrare.The name of the dependency property to register.

propertyType
Type

Tipo della proprietà.The type of the property.

ownerType
Type

Tipo di proprietario che registra la proprietà di dipendenza.The owner type that is registering the dependency property.

defaultMetadata
PropertyMetadata

Metadati della proprietà per la proprietà di dipendenza.Property metadata for the dependency property. Può essere incluso il valore predefinito così come altre caratteristiche.This can include the default value as well as other characteristics.

validateValueCallback
ValidateValueCallback

Riferimento a un callback che deve eseguire qualsiasi convalida personalizzata del valore della proprietà di dipendenza oltre la normale convalida del tipo.A reference to a callback that should perform any custom validation of the dependency property value beyond typical type validation.

Restituisce

Identificatore della proprietà di dipendenza da usare per impostare il valore di un campo public static readonly nella classe.A dependency property identifier that should be used to set the value of a public static readonly field in your class. Tale identificatore viene quindi usato per fare riferimento in un secondo momento alla proprietà di dipendenza, per operazioni come l'impostazione del valore a livello di codice o per ottenere i metadati.That identifier is then used to reference the dependency property later, for operations such as setting its value programmatically or obtaining metadata.

Esempi

Nell'esempio seguente viene registrata una proprietà associata in una classe astratta utilizzando questa firma RegisterAttached.The following example registers an attached property on an abstract class using this RegisterAttached signature. Questa proprietà associata è una proprietà del tipo di enumerazione e la registrazione aggiunge un callback di convalida per verificare che il valore fornito sia un valore dell'enumerazione.This attached property is an enumeration type property, and the registration adds a validation callback to verify that the provided value is a value of the enumeration.

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)Extensible Application Markup Language (XAML).An attached property is a property concept defined by Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML). WPFWPF implementa le proprietà associate come proprietà di dipendenza.implements attached properties as dependency properties. Poiché le proprietà associate WPFWPF sono proprietà di dipendenza, possono avere i metadati applicati che possono essere usati dal sistema di proprietà generale per operazioni quali la creazione di report sulle caratteristiche del layout.Because the WPFWPF attached properties are dependency properties, they can have metadata applied that can be used by the general property system for operations such as reporting layout characteristics. Per altre informazioni, vedere Cenni preliminari sulle proprietà associate.For more information, see Attached Properties Overview.

Per ulteriori informazioni sulla registrazione delle proprietà di dipendenza, vedere DependencyProperty.For more information on dependency property registration, see DependencyProperty.

Usare RegisterAttached per le proprietà di dipendenza che ereditano il valoreUse RegisterAttached for Value-inheriting Dependency Properties

Uno scenario particolare per la registrazione di una proprietà di dipendenza con RegisterAttached anziché Register consiste nel supportare l'ereditarietà del valore della proprietà.One particular scenario for registering a dependency property with RegisterAttached instead of Register is to support property value inheritance. È necessario registrare le proprietà di dipendenza che ereditano il valore con RegisterAttached anche se la classe definisce le funzioni di accesso del wrapper di proprietà che espongono la proprietà di dipendenza e anche se non si prevede di esporre metodi get * e set * statici per fornire funzioni di accesso al supporto delle proprietà associate true.You should register value-inheriting dependency properties with RegisterAttached even if the class defines property wrapper accessors that expose the dependency property, and even if you do not intend to expose Get* and Set* static methods to provide true attached property support accessors. Sebbene l'ereditarietà del valore della proprietà possa sembrare funzionante per le proprietà di dipendenza non associate, il comportamento di ereditarietà per una proprietà non associata attraverso determinati limiti degli elementi nell'albero di runtime non è definito.Although property value inheritance might appear to work for nonattached dependency properties, the inheritance behavior for a nonattached property through certain element boundaries in the runtime tree is undefined. La registrazione della proprietà come connessa rende la proprietà associata una proprietà globale al sistema di proprietà e assicura che l'ereditarietà del valore della proprietà funzioni in tutti i limiti di un albero degli elementi.Registering the property as attached effectively makes the attached property a global property to the property system, and assures that property value inheritance works across all boundaries in an element tree. Usare sempre RegisterAttached per registrare le proprietà in cui si specifica Inherits nei metadati.Always use RegisterAttached to register properties where you specify Inherits in the metadata. Per altre informazioni, vedere Ereditarietà del valore della proprietà.For more information, see Property Value Inheritance.

Vedi anche

Si applica a