2009-02-18 5 views
5

J'ai commencé à faire quelque chose dans WPF et j'ai une question. Je pense que la réponse pourrait être facile et même évidente, mais en quelque sorte ...Overlay deux contrôles

J'ai deux contrôles sur un formulaire entouré par une grille. Je veux deux positionner le second contrôle au dessus du premier (c'est transparent). Venant de développement WinForms qui n'est pas si difficile, il ne sera pas dans WPF. Mais je ne suis pas le point ...

Sascha

Répondre

11

Soit les contrôles Grid et Canvas feraient ce que vous vouliez.

Dans la plupart des cas, je recommande d'utiliser le Grid pour superposer des éléments, car vous pouvez également contrôler leur redimensionnement facilement. Ils s'empilent dans l'ordre que vous leur avez défini (dernier en haut).

Essayez quelque chose comme ceci:

<Grid> 
    <Rectangle Fill="Blue"/> 
    <Ellipse Fill="Red"/> 
</Grid> 

BTW - apprentissage XAML est beaucoup plus facile à faire dans un outil interactif comme Kaxaml.

+0

Cela fonctionne bien pour le rectangle et l'ellipse. Le contrôle à superposer serait un contrôle webbrowser. Pour cela j'ai remplacé Rectangle par Webbrowser avec le résultat que l'ellipse n'est plus montrée. – Sascha

+0

Vous l'avez avec un navigateur en cours d'exécution – Sascha

+0

Heureux que cela fonctionne pour vous. Je recommande sérieusement de bricoler avec Kaxaml pour apprendre les tenants et les aboutissants de WPF. –

5

Si je vous reçois correctement, il suffit de mettre le contrôle dans l'ordre inverse à l'intérieur de la grille. L'ordre détermine le Z-Index du contrôle

<Grid> 
    <c:ControlFirst/> 
    <c:ControlSecond/>   
    </Grid> 
Questions connexes