Come aprire una finestra o una finestra di dialogo (WPF .NET)

È possibile creare finestre personalizzate e visualizzarle in Windows Presentation Foundation (WPF). In questo articolo si apprenderà come visualizzare finestre e finestre modali e modeless.

Concettualmente, una finestra e una finestra di dialogo sono le stesse: vengono visualizzate a un utente per fornire informazioni o interazioni. Sono entrambi oggetti "window". La progettazione della finestra e il modo in cui viene usata è ciò che rende una finestra di dialogo. Una finestra di dialogo è in genere di dimensioni ridotte e richiede all'utente di rispondere. Per altre informazioni, vedere Panoramica delle finestre e finestre di dialogo WPF.

Se si è interessati all'apertura delle finestre di dialogo del sistema operativo, vedere Come aprire una finestra di dialogo comune.

Apri come modale

Quando viene aperta una finestra modale, in genere rappresenta una finestra di dialogo. WPF limita l'interazione alla finestra modale e il codice che ha aperto la finestra viene sospeso fino alla chiusura della finestra. Questo meccanismo offre un modo semplice per richiedere all'utente i dati e attendere la risposta.

Utilizzare il ShowDialog metodo per aprire una finestra. Il codice seguente crea un'istanza della finestra e la apre modally. Il codice che apre la finestra viene sospeso, in attesa della chiusura della finestra:

var window = new Margins();

window.Owner = this;
window.ShowDialog();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.ShowDialog()

Importante

Una volta chiusa una finestra, non è possibile usare la stessa istanza dell'oggetto per riaprire la finestra.

Per altre informazioni su come gestire la risposta dell'utente a una finestra di dialogo, vedere Panoramica delle finestre di dialogo: Elaborazione della risposta.

Apri come senza modalità

L'apertura di una finestra senza modalità significa visualizzarla come finestra normale. Il codice che apre la finestra continua a essere eseguito man mano che la finestra diventa visibile. È possibile concentrarsi e interagire con tutte le finestre senza modalità visualizzate dall'applicazione, senza restrizioni.

Utilizzare il Show metodo per aprire una finestra. Il codice seguente crea un'istanza della finestra e la apre senza modalità. Il codice che apre la finestra continua a essere eseguito:

var window = new Margins();

window.Owner = this;
window.Show();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.Show()

Importante

Una volta chiusa una finestra, non è possibile usare la stessa istanza dell'oggetto per riaprire la finestra.

Vedi anche