Spécifie le niveau de transparence d'une couleur nommée dans XAML
Est-il un moyen dans le code XAML pour créer un objet en couleur à partir d'un nom de couleur avec différents personnalisé le niveau de transparence? par exemple,
<Label Background="{SkyBlue;220}" />
Je sais que cela ne fonctionne pas, mais je voulais juste citer un exemple.
source d'informationauteur dotNET
Vous devez vous connecter pour publier un commentaire.
Un de ces moments où vous trouver la réponse vous-même. Voici la bonne façon pour un futur lecteur:
Opacity
varie entre 0 et 1, 1 étant entièrement opaque (non transparent).Modifier
En matière de @Dai commentaire, cette méthode, en effet, n'est pas réinitialisé ou de remplacer le niveau de transparence de la couleur indiquée dans le cas où vous faites référence à une ressource de couleur qui a déjà mis une certaine transparence. Par exemple, si votre ressource la couleur est
SkyBlue
avec la transparence fixée à 0,5, et maintenant vous voulez mettre à 0,7 au lieu de cela, la méthode ci-dessus ne fonctionne pas directement.À gérer cette situation, tout ce que vous devez faire est de créer un peu de
Converter
qui réinitialise la composante alpha de la couleur d'entrée. Quelque chose comme ceci:et ensuite l'utiliser dans votre XAML:
Juste pour ajouter un peu de celui-ci. Oui, vous pouvez parfaitement le jeu de la
Opacity
via déclarative que vous avez montré dans votre réponse, mais vous n'avez même pas besoin de la Propriété de Dépendance défini, vous pouvez le faire directement en hexadécimal de la couleur en utilisant leAlpha
sur le dessus de votreRGB
valeurs. Où, comme, disons que vous avez la valeur de Noir et vous voulez donner une certaine opacité. Les 2 premiers octets de la valeur qui peut être ajouté à accomplir la même chose.À titre d'exemple;
"#000000" = Noir (SOLIDE)
où que
"#33000000" = Noir (Avec 20% D'Opacité)
"#77000000" = Noir (Avec 47% D'Opacité)
"#E5000000" = Noir (Avec 90% D'Opacité)
Juste pour jeter quelques explications là-bas et potentiellement vous aider dans l'avenir, lorsque la
Opacity
propriété ne peut pas être si facilement disponible ou est définie comme immuable. Espérons que cette aide.