2010-03-16 3 views
3

J'ai un bouton qui est créé par programmation, son contenu est un panneau de pile avec une image et un bloc de texte. Tout cela fonctionne très bien. Je veux rendre le bouton derrière l'image et le texte transparent, de sorte que l'image et le texte semblent être assis en arrière-plan, mais ont toujours toutes les propriétés du bouton (c'est-à-dire que quelqu'un clique dans la zone de bouton enregistre l'événement de clic de bouton).Comment rendre le bouton silverlight transparent pendant l'affichage de l'image?

J'ai joué avec des opacités, mais chaque opacité avec laquelle je joue avec le bouton semble définir le bouton entier (image et texte inclus) à cette valeur d'opacité.

Comment rendre le bouton opaque tout en rendant le texte et le contenu de l'image encore visibles?

Oh, c'est silverlight 3. Merci d'avance.

Répondre

4

Vous allez devoir modeler le bouton et supprimer les dégradés, l'élément de mise au point, etc. que vous ne voulez pas conserver du style par défaut pour un bouton. Il semble que vous souhaitiez simplement conserver le présentateur de contenu et vous débarrasser de l'arrière-plan et de la souris par-dessus les dégradés "luisants". Vous devrez probablement définir l'arrière-plan de votre contenu StackPanel pour qu'il soit transparent si vous souhaitez que la zone de bouton entière intercepte les événements de la souris et pas seulement l'image et le contenu textuels sous-jacents.

Scott Gu a un good tutorial here sur les bases de la création d'un modèle de contrôle. Si vous utilisez Expression Blend, il est très facile de cliquer avec le bouton droit de la souris sur le bouton et de sélectionner Modifier le modèle -> Modifier une copie pour copier le style par défaut dans une nouvelle ressource de style pour le bouton. à Blend.

+0

Merci Dan, je pense que ça va le faire. – Mike

4

Vous pouvez remplacer la propriété modèle du bouton pour faire une grille vide, comme ceci:

<Button> 
     <Button.Template> 
      <ControlTemplate TargetType="Button"> 
      <Grid /> 
     </ControlTemplate> 
    </Button.Template> 
</Button> 

Cela pourrait être défini comme un style réutilisable si nécessaire.

+0

Merci pour l'entrée, je vais essayer d'abord car il semble plus simple. – Mike

Questions connexes