2009-01-26 8 views
1

J'ai un petit UserControl et il a besoin de connaître le pinceau d'arrière-plan du contrôle sur lequel il est rendu.Comment obtenir la valeur réelle d'un DependancyProperty?

Cependant, si je regarde dans la propriété Background de l'UserControl il revient null.

Si j'appelle GetValue (UserControl.BackgroundProperty), il renvoie également null même si dans l'arbre Visual il est définitivement défini.

On dirait que je dois manquer quelque chose d'assez évident car il ne peut pas être si difficile de comprendre la couleur de fond d'un contrôle.

Répondre

2

Il me semble que votre UserControl n'a pas de couleur de fond définie - null signifie transparent, ce qui explique pourquoi l'arrière-plan du contrôle parent est visible du tout.

Il s'agit toujours de la couleur d'arrière-plan du contrôle parent. Le fait que votre contrôle ne possède pas sa propre couleur d'arrière-plan ne signifie pas qu'il prend la couleur du contrôle parent. Le "contexte" de votre contrôle montrera simplement ce qui est derrière votre contrôle.

+0

Non je défo le mettre à Gray –

1

La propriété background n'est pas héritée du parent, vous devez la définir vous-même.

Questions connexes