2009-02-20 9 views
6

Aggiungo a livello di programmazione un controllo utente a un altro in Silverlight 2 aggiungendolo alla raccolta "Bambini" del controllo padre. All'inizio funziona bene. Se faccio qualcos'altro alla finestra (nel mio caso sto sfogliando l'intero pannello fuori dalla vista e poi torna alla vista), a quanto pare cambia l'ordine di rendering e fa sì che il mio controllo sia dietro gli altri. Sto cercando un modo per controllare questo comportamento, per forzare la mia finestra a essere in cima. Il controllo Canvas ha una proprietà ZOrder che ti permette di impostarlo, ma non sto usando una tela, sto usando Grids.Controllo dell'ordine di rendering (ZOrder) in Silverlight senza utilizzare il controllo Canvas

Ho giocato con l'utilizzo di Children.Inserire e fare scherzi con l'indice e questo cambia anche l'ordine di rendering, ma questo sembra un modo sfortunato per risolvere il problema. Come posso forzare il mio controllo a essere al top?

--Matt

risposta

1

Si dovrebbe essere in grado di utilizzare Canvas.ZIndex in una griglia, in realtà è nome sbagliato e dovrebbe essere Panel.ZIndex ma dovrebbe funzionare.

7

Canvas.ZIndex lavorerà per una griglia (e qualsiasi altro controllo derivato da UIElement).

Come si può vedere da http://msdn.microsoft.com/en-us/library/bb979730(VS.95).aspx Tutto ciò che deriva da UIElement (la classe base per tutti gli elementi renderizzati in Silverlight) supporta la proprietà Canvas.ZIndex, così come Canvas.Top e Canvas.Left.

Problemi correlati