PropertyMetadata Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit les aspects de comportement d’une propriété de dépendance, y compris les conditions avec lesquelles elle a été inscrite. Pour plus d’informations sur l’utilisation de PropertyMetadata pour les propriétés de dépendance, consultez Propriétés de dépendance personnalisées.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class PropertyMetadata
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class PropertyMetadata
Public Class PropertyMetadata
- Héritage
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Exemples
Cet exemple appelle le constructeur PropertyMetadata(Object), qui crée un PropertyMetadata qui signale une valeur par défaut pour un DependencyProperty. PropertyMetadata est ensuite utilisé pour une inscription de propriété jointe lorsque RegisterAttached est appelé.
public abstract class AquariumServices : DependencyObject
{
public enum Buoyancy {Floats,Sinks,Drifts}
public static readonly DependencyProperty BuoyancyProperty = DependencyProperty.RegisterAttached(
"Buoyancy",
typeof(Buoyancy),
typeof(AquariumServices),
new PropertyMetadata(Buoyancy.Floats)
);
public static void SetBuoyancy(DependencyObject element, Buoyancy value)
{
element.SetValue(BuoyancyProperty, value);
}
public static Buoyancy GetBuoyancy(DependencyObject element)
{
return (Buoyancy)element.GetValue(BuoyancyProperty);
}
}
Public Class AquariumServices
Inherits DependencyObject
Public Enum Buoyancy
Floats
Sinks
Drifts
End Enum
Public Shared ReadOnly BuoyancyProperty As DependencyProperty = _
DependencyProperty.RegisterAttached(
"Buoyancy", _
GetType(Buoyancy), _
GetType(AquariumServices), _
New PropertyMetadata(Buoyancy.Floats))
Public Sub SetBuoyancy(element As DependencyObject, value As Buoyancy)
element.SetValue(BuoyancyProperty, value)
End Sub
Public Function GetBuoyancy(element As DependencyObject) As Buoyancy
GetBuoyancy = CType(element.GetValue(BuoyancyProperty), Buoyancy)
End Function
End Class
Remarques
La définition d’un instance PropertyMetadata fait partie du scénario de définition d’une propriété de dépendance personnalisée. Pour obtenir des informations et des exemples, consultez Propriétés de dépendance personnalisées.
Une valeur PropertyMetadata représente deux aspects du comportement des propriétés de dépendance :
- Fournit une valeur par défaut, qui est utilisée comme valeur de la propriété, sauf si le type de propriétaire initialise spécifiquement la valeur, ou si la valeur est définie par le code utilisateur ou d’autres mécanismes.
- Fait référence à un rappel appelé si le système de propriétés de dépendance détecte que la propriété de dépendance a changé. En règle générale, une propriété de dépendance a uniquement besoin d’une valeur PropertyMetadata si l’un de ces comportements ou les deux sont souhaités. Sinon, une valeur null peut être passée pour le paramètre propertyMetadata lorsqu’une propriété de dépendance est inscrite auprès du système de propriétés de dépendance. Pour plus d’informations, consultez DependencyProperty.Register.
Si votre PropertyMetadata inclut une référence de rappel modifiée par une propriété, cette méthode doit être une méthode statique de la classe qui expose l’identificateur DependencyProperty où cette propriété Est appliquée. La procédure d’écriture de cette méthode est décrite dans Propriétés de dépendance personnalisées , ainsi que la rubrique de référence pour le délégué PropertyChangedCallback .
Notes
Une fois créée, une instance PropertyMetadata n’a pas de propriété qui peut être utilisée pour rechercher le rappel ou même pour déterminer le nom de la méthode du rappel. Ces informations sont considérées comme un détail d’implémentation d’une propriété de dépendance et seul le système de propriétés de dépendance lui-même doit être en mesure d’appeler cette méthode.
Instanciation d’une valeur PropertyMetadata
Il existe deux méthodes qui peuvent instancier un instance PropertyMetadata : un constructeur et une méthode PropertyMetadata.Create statique. Chacune de ces méthodes a plusieurs signatures. Il est plus courant d’utiliser les constructeurs. Toutefois, vous devez utiliser PropertyMetadata.Create si vous souhaitez que le mécanisme de valeur par défaut de votre propriété de dépendance soit thread-safe. Pour plus d’informations, consultez la section « Métadonnées de propriété pour une propriété de dépendance personnalisée » de la rubrique Propriétés de dépendance personnalisées .
Constructeurs
PropertyMetadata(Object) |
Initialise une nouvelle instance de la classe PropertyMetadata, à l’aide d’une valeur de propriété par défaut. |
PropertyMetadata(Object, PropertyChangedCallback) |
Initialise une nouvelle instance de la classe PropertyMetadata, à l’aide d’une valeur par défaut de propriété et d’une référence de rappel. |
Propriétés
CreateDefaultValueCallback |
Obtient une référence à la méthode de rappel qui fournit une valeur de propriété par défaut. |
DefaultValue |
Obtient la valeur par défaut de la propriété de dépendance. |
Méthodes
Create(CreateDefaultValueCallback) |
Crée une valeur PropertyMetadata , en spécifiant un rappel qui établit une valeur par défaut pour une propriété de dépendance. |
Create(CreateDefaultValueCallback, PropertyChangedCallback) |
Crée une valeur PropertyMetadata , en spécifiant un rappel qui établit une valeur par défaut pour une propriété de dépendance et un rappel de propriété modifiée. |
Create(Object) |
Crée une valeur PropertyMetadata , en spécifiant une valeur par défaut fixe pour une propriété de dépendance. |
Create(Object, PropertyChangedCallback) |
Crée une valeur PropertyMetadata , en spécifiant une valeur par défaut fixe pour une propriété de dépendance et un rappel de propriété modifiée. |