2010-05-27 14 views
6

C'è un modo per ottenere la posizione di rendering corrente di un controllo WPF nella sua finestra dopo tutti gli attuali RenderTransform s sono stati applicati? Potrei essere solo cieco, ma non vedo un metodo ovvio.Posizione del controllo WPF nella finestra?

risposta

17

Immagino che avrei dovuto continuare a frugare prima di chiedere ... ma invece di cancellare forse questo aiuterà qualcuno dopo.

Il trucco è quello di trasformare il punto (0,0) dal assi del controllo agli assi della finestra, quindi ...

Point renderedLocation = theControl.TranslatePoint(new Point(0,0), theWindow);

Se avete bisogno di un punto interno sul controllo esso funziona in modo simile, basta usare quel punto locale invece di (0,0).

Non provare a basarlo su Margin o Padding, non viene visualizzato correttamente.

+2

Non c'è niente di sbagliato nel rispondere alla tua domanda se trovi la risposta. Inoltre, dovresti renderlo la risposta accettata. In questo modo le persone che cercano vedranno la risposta. –

+0

Potresti venire con un esempio completo che mostra come lo usi? –

Problemi correlati