Partager via


PropertyMetadata Classe

Définition

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(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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
Object IInspectable PropertyMetadata
Attributs

Exemples

Cet exemple appelle le constructeur propertyMetadata(Object) , qui crée un qui signale une valeur par défaut pour unDependencyProperty . Le 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);
    }
}

Remarques

La définition d’une instance PropertyMetadata fait partie du scénario de définition d’une propriété de dépendance personnalisée. Pour plus d’informations et d’exemples, consultez propriétés de dépendance personnalisées.

Une valeur PropertyMetadata représente deux aspects du comportement de propriété 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 ne nécessite qu’une valeur PropertyMetadata si l’un ou les deux comportements sont souhaités. Sinon, une valeur de 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 propriété, cette méthode doit être une méthode statique de la classe qui expose l’identificateur DependencyProperty où cette PropertyMetadata est appliquée. Comment écrire cette méthode est décrite dans propriétés de dépendance personnalisées et également la rubrique de référence pour le délégué PropertyChangedCallback.

Note

Une fois créée, une instance de 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 doit être en mesure d’appeler cette méthode.

Instanciation d’une valeur PropertyMetadata

Il existe deux méthodes qui peuvent instancier une instance PropertyMetadata : un constructeur et une méthode statique PropertyMetadata.Create. 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 propriétés de dépendance personnalisées rubrique.

Constructeurs

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.

PropertyMetadata(Object)

Initialise une nouvelle instance de la classe PropertyMetadata à l’aide d’une valeur par défaut de propriété.

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, 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 modifié par propriété.

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(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 modifié par propriété.

Create(Object)

Crée une valeur PropertyMetadata, en spécifiant une valeur par défaut fixe pour une propriété de dépendance.

S’applique à

Voir aussi