2012-07-16 23 views
17

Vorrei consentire all'utente di scegliere le opzioni dopo aver fatto clic su un pulsante. Ad esempio, mostrare due pulsanti, "Riavvia ora" e "Riavvia dopo" in una finestra a comparsa modale sarebbe la mia preferenza. L'utilizzo di MessageBox non è una soluzione per me in quanto non consente all'utente di modificare il titolo dei pulsanti.Finestra popup WPF

risposta

25

È necessario creare una nuova classe di finestre. Puoi progettarlo in qualsiasi modo desideri. È possibile creare e mostrare una finestra modale come questo:

MyWindow popup = new MyWindow(); 
popup.ShowDialog(); 

è possibile aggiungere una proprietà personalizzata per il vostro valore del risultato, o se avete solo due risultati possibili (+ possibilmente undeterminate, che sarebbe null), è possibile imposta la proprietà DialogResult della finestra prima di chiuderla e quindi controllarla (è il valore restituito da ShowDialog()).

+0

Thank u, Botz3000 –

0

Basta mostrare una nuova finestra con due pulsanti. Aggiungi proprietà per contenere il risultato utente.

15

In WPF è presente un controllo denominato Popup.

Popup myPopup = new Popup(); 
//(...) 
myPopup.IsOpen = true; 
+8

Perché -1? Potresti spiegare? :) – Nickon

+0

Non riesco a far funzionare questo codice. Sai perché non riconoscerà Popup? – user2602079

+2

Ecco il riferimento alla classe: http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup(v=vs.110).aspx – Nickon

2
+0

"I collegamenti a risorse esterne sono incoraggiati, ma si prega di aggiungere contesto intorno al link in modo che i tuoi colleghi abbiano un'idea di cosa sia e perché è lì. Citare sempre la parte più rilevante di un link importante, nel caso in cui il sito target non sia raggiungibile o sia permanentemente offline. " - https://stackoverflow.com/help/how-to-answer – HEDMON