J’ai une fenêtre avec l’apparence suivante:
Ce que j’aimerais, cependant, c’est que les contrôles Button
(les gris avec du texte au milieu) dans la Grid
principale de Window
aient une opacité de 1, totalement opaque. Lorsque j’ai hérité de ce projet, l’opacité était définie sur 0.75 au niveau supérieur, à l’intérieur de la balise d’ouverture de la Window
. Maintenant, si je comprends bien, cela imposera automatiquement cela à tous les enfants et cela dit que les enfants ne peuvent pas passer outre.
Comment puis-je accomplir le fond transparent mais les boutons opaques? La seule façon que j’ai trouvée jusqu’à présent (en tant que novice relatif dans WPF) est d’avoir deux fenêtres distinctes, l’une qui est l’arrière-plan transparent, et l’autre sans arrière-plan, mais contenant les contrôles opaques. C’est terriblement pirate et je veux l’éviter si je le peux.
Je peux fournir le code sur demande, mais c’est aussi simple qu’une Window
avec un style de fenêtre = none et une opacité de .75 contenant une Grid
, qui contient des commandes très simples des Button
etc.
Quelqu’un a-t-il déjà construit une telle Window
avant ou autrement pour en créer une? Merci.
Au lieu de définir l’opacité de la fenêtre, définissez l’opacité de son arrière-plan:
Si vous créez un style comme celui-ci:
Ensuite, vous pouvez référencer ceux de XAML pour votre bouton comme ceci:
Et il ne devrait plus hériter de l’opacité de son parent.
L’effet ci-dessus peut également être obtenu en réglant l’opacité du concepteur de 100% à 60% (selon les besoins).