Exporter (0) Imprimer
Développer tout

DependencyObject.SetValue, méthode (DependencyProperty, Object)

Mise à jour : novembre 2007

Définit la valeur de proximité d'une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance.

Espace de noms :  System.Windows
Assembly :  WindowsBase (dans WindowsBase.dll)

public void SetValue(
	DependencyProperty dp,
	Object value
)
public void SetValue(
	DependencyProperty dp,
	Object value
)
public function SetValue(
	dp : DependencyProperty, 
	value : Object
)
Vous ne pouvez pas utiliser des méthodes en XAML.

Paramètres

dp
Type : System.Windows.DependencyProperty

Identificateur de la propriété de dépendance à définir.

value
Type : System.Object

La nouvelle valeur de proximité.

ExceptionCondition
InvalidOperationException

Tentative de modification d'une propriété de dépendance en lecture seule, ou d'une propriété sur un DependencyObject sealed.

ArgumentException

value n'était pas le type correct enregistré pour la propriété dp.

Si le type fourni ne correspond pas au type déclaré pour la propriété de dépendance lors de l'enregistrement d'origine, une exception est levée. Le paramètre value doit toujours être fourni comme le type approprié.

Les conditions d'exception sont influencées potentiellement par le rappel ValidateValueCallback qui existe sur l'identificateur de propriété de dépendance de la propriété de dépendance qui est définie. Sinon, la valeur fournie peut faire échouer des conditions générales de vérification de type (par exemple, passer une chaîne lorsque le type natif est Double).

Cet exemple montre comment stocker une propriété Common Language Runtime (CLR) avec un champ DependencyProperty, c'est-à-dire comment définir une propriété de dépendance. Lorsque vous définissez vos propres propriétés et voulez qu'elles prennent en charge de nombreux aspects des fonctionnalités Windows Presentation Foundation (WPF), telles que les styles, la liaison de données, l'héritage, l'animation et les valeurs par défaut, vous devez les implémenter en tant que propriétés de dépendance.

L'exemple suivant enregistre tout d'abord une propriété de dépendance en appelant la méthode Register. Le nom du champ d'identificateur que vous utilisez pour stocker le nom et les caractéristiques de la propriété de dépendance doit être Name que vous avez choisi pour la propriété de dépendance dans le cadre de l'appel Register, ajouté par la chaîne littérale Property. Par exemple, si vous enregistrez une propriété de dépendance avec un Name de Location, le champ d'identificateur que vous définissez pour la propriété de dépendance doit être appelé LocationProperty.

Dans cet exemple, le nom de la propriété de dépendance et de son accesseur CLR est State, le champ d'identificateur est StateProperty, le type de la propriété est Boolean et le type qui enregistre la propriété de dépendance est MyStateControl.

Si vous ne suivez pas ce modèle d'affectation de noms, les concepteurs risquent de ne pas signaler votre propriété correctement, tandis que certains aspects de l'application du style du système de propriétés pourraient avoir un comportement inattendu.

Vous pouvez également spécifier des métadonnées par défaut pour une propriété de dépendance. Cet exemple enregistre la valeur par défaut false pour la propriété de dépendanceState.

public class MyStateControl : ButtonBase
{
  public MyStateControl() : base() { }
  public Boolean State
  {
    get { return (Boolean)this.GetValue(StateProperty); }
    set { this.SetValue(StateProperty, value); } 
  }
  public static readonly DependencyProperty StateProperty = DependencyProperty.Register(
    "State", typeof(Boolean), typeof(MyStateControl),new PropertyMetadata(false));
}


Pour l'exemple complet, consultez Classes personnalisées avec propriétés de dépendance, exemple.

Pour plus d'informations sur l'implémentation d'une propriété de dépendance et les raisons de cette implémentation, par opposition au simple stockage d'une propriété CLR par un champ privé, consultez Vue d'ensemble des propriétés de dépendance.

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft