2009-12-15 5 views
0

J'ai une animation que j'ai configurée sur un transparent Canvas. J'ai mis que Canvas pour être le contenu d'un Button, puis exécutez l'animation. (Voir ce question pour le code.)Animation WPF - Mettre une toile à l'avant

Le problème est que, parfois, l'animation se mettre derrière d'autres éléments de l'interface utilisateur de mon application (je suis en utilisant Dock Avalon et il est en face de la DockableContent il est, mais derrière la un à côté de lui.) Dans certains tests, cela semble être lié d'une certaine manière à la taille du bouton (s'il déborde le DockableContent).

Une idée de comment je peux apporter le Canvas pour être au-dessus de tout cela? (Note: Je n'essaie pas d'élever des éléments dans la toile au-dessus d'autres éléments dans le Canvas.)

Merci pour toute aide.


Edit: Cela se passait parce que j'ai un ScrollViewer autour du bouton qui tenait l'animation Canvas. Cela l'a fait s'étendre plutôt qu'écraser.

Je peux penser à quelques solutions de contournement, mais je suis ouvert aux suggestions.

Répondre

2

Modifiez la valeur de la propriété jointe Panel.ZIndex. Une valeur plus élevée signifie plus proche du premier plan

+0

Je ne trouve pas Panel.ZIndex sur l'objet Canvas. (ie myCanvas.Panel.ZIndex n'est pas une référence valide) – Vaccano

+0

C'est une propriété * attachée *, vous ne pouvez pas vous y référer comme ça. Vous devez l'appeler ainsi: 'Panel.SetZIndex (myCanvas, 10)'. En XAML vous pouvez vous y référer avec 'Panel.ZIndex' –

+0

Wow! Bonne réponse. Merci – Vaccano