Fenêtre WPF avec un arrière-plan transparent contenant des contrôles opaques

J’ai une fenêtre avec l’apparence suivante:

entrer la description de l'image ici

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).