2010-04-29 3 views
19

Ho una vista elenco in cui ho definito una cella personalizzata come controllo utente.Come impostare la posizione di una finestra WPF?

Nella cella personalizzata che ho fornito al collegamento ipertestuale dell'utente, sto visualizzando una finestra di dialogo WPF quando l'utente fa clic su un collegamento ipertestuale.

voglio finestra WPF arriva appena sopra il collegamento ipertestuale ..

prega fatemi sapere come posso raggiungere questo obiettivo o il modo di impostare la posizione della finestra di dialogo in modo che si tratta appena sopra il collegamento ipertestuale.

risposta

54

Window.Left e Window.Top

var location = myTextBlock.PointToScreen(new Point(0,0)); 
window.Left = location.X; 
window.Top = location.Y-window.Height; 
+0

Josh .. Come arrivare il blocco di testo (contenuto all'interno del collegamento ipertestuale) posso ottenere il collegamento ipertestuale attraverso arguement evento "mittente" .. –

+0

ho definito il collegamento ipertestuale, come di seguito:

10

è necessario impostare il WindowStartupLocation a Manual (che è il default però), così come l'impostazione dei valori di proprietà Top e Left.

L'impostazione CenterScreen consente di posizionare una finestra al centro dello schermo che contiene il cursore del mouse.

L'impostazione di WindowStartupLocation su CenterOwner consente di posizionare una finestra al centro della finestra del proprietario (vedere Proprietario), se specificato. La finestra del proprietario può essere un'altra finestra WPF o una finestra non WPF.

Source

-1

se si imposta .Left della finestra più di dimensioni del monitor (2000 lavora per me) la finestra va avanti secondo monitor e si può quindi "massimizzare"

+0

come si fa a impostare questo? –

+0

Valorizzare i valori di codifica per far funzionare le cose sulla tua macchina di sviluppo è davvero una pratica sbagliata. – Danny