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

Questo articolo illustra come visualizzare una finestra di dialogo di sistema comune in Windows Presentation Foundation (WPF). Windows implementa diversi tipi di finestre di dialogo riutilizzabili comuni a tutte le applicazioni, incluse le finestre di dialogo per la selezione di file e la stampa.

Poiché queste finestre di dialogo vengono fornite dal sistema operativo, vengono condivise tra tutte le applicazioni eseguite nel sistema operativo. Queste finestre di dialogo offrono un'esperienza utente coerente e sono note come finestre di dialogo comuni. Poiché un utente usa una finestra di dialogo comune in un'applicazione, non è necessario imparare a usare tale finestra di dialogo in altre applicazioni.

Una finestra di messaggio è un'altra finestra di dialogo comune. Per altre informazioni, vedere Come aprire una finestra di messaggio.

Finestra di dialogo Apri file

La finestra di dialogo Apri file viene utilizzata dalla funzionalità di apertura file per recuperare il nome di un file da aprire.

An Open dialog box showing the location to retrieve the file shown from a WPF application.

La finestra di dialogo common open file viene implementata come OpenFileDialog classe e si trova nello spazio dei Microsoft.Win32 nomi . Il codice seguente illustra come creare, configurare e visualizzare la finestra di dialogo.

// Configure open file dialog box
var dialog = new Microsoft.Win32.OpenFileDialog();
dialog.FileName = "Document"; // Default file name
dialog.DefaultExt = ".txt"; // Default file extension
dialog.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension

// Show open file dialog box
bool? result = dialog.ShowDialog();

// Process open file dialog box results
if (result == true)
{
    // Open document
    string filename = dialog.FileName;
}
' Configure open file dialog box
Dim dialog As New Microsoft.Win32.OpenFileDialog()
dialog.FileName = "Document" ' Default file name
dialog.DefaultExt = ".txt" ' Default file extension
dialog.Filter = "Text documents (.txt)|*.txt" ' Filter files by extension

' Show open file dialog box
Dim result As Boolean? = dialog.ShowDialog()

' Process open file dialog box results
If result = True Then
    ' Open document
    Dim filename As String = dialog.FileName
End If

Per altre informazioni sulla finestra di dialogo Apri file, vedere Microsoft.Win32.OpenFileDialog.

Salva file (finestra di dialogo)

La finestra di dialogo Salva file viene utilizzata dalla funzionalità di salvataggio dei file per recuperare il nome di un file da salvare.

A Save As dialog box showing the location to save the file shown from a WPF application.

La finestra di dialogo file di salvataggio comune viene implementata come SaveFileDialog classe e si trova nello spazio dei Microsoft.Win32 nomi . Il codice seguente illustra come creare, configurare e visualizzare la finestra di dialogo.

// Configure save file dialog box
var dialog = new Microsoft.Win32.SaveFileDialog();
dialog.FileName = "Document"; // Default file name
dialog.DefaultExt = ".txt"; // Default file extension
dialog.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension

// Show save file dialog box
bool? result = dialog.ShowDialog();

// Process save file dialog box results
if (result == true)
{
    // Save document
    string filename = dialog.FileName;
}
' Configure save file dialog box
Dim dialog As New Microsoft.Win32.SaveFileDialog()
dialog.FileName = "Document" ' Default file name
dialog.DefaultExt = ".txt" ' Default file extension
dialog.Filter = "Text documents (.txt)|*.txt" ' Filter files by extension

' Show save file dialog box
Dim result As Boolean? = dialog.ShowDialog()

' Process save file dialog box results
If result = True Then
    ' Save document
    Dim filename As String = dialog.FileName
End If

Per altre informazioni sulla finestra di dialogo Salva file, vedere Microsoft.Win32.SaveFileDialog.

Finestra di dialogo Apri cartella

Importante

La finestra di dialogo Apri cartella è disponibile in .NET 8.0 e versioni successive.

La finestra di dialogo Apri cartella viene utilizzata dall'utente per selezionare una o più cartelle e restituirle al programma. Ad esempio, se il programma visualizza informazioni su una cartella, ad esempio la quantità di file e i nomi di file nella cartella, è possibile usare la finestra di dialogo Apri cartella per consentire all'utente di scegliere la cartella.

An Open Folder dialog box showing the Pictures folder with the Camera Roll folder selected, shown from a WPF application.

La finestra di dialogo della cartella aperta comune viene implementata come OpenFolderDialog classe e si trova nello spazio dei Microsoft.Win32 nomi . Il codice seguente illustra come creare, configurare e visualizzare la finestra di dialogo.

// Configure open folder dialog box
Microsoft.Win32.OpenFolderDialog dialog = new();

dialog.Multiselect = false;
dialog.Title = "Select a folder";

// Show open folder dialog box
bool? result = dialog.ShowDialog();

// Process open folder dialog box results
if (result == true)
{
    // Get the selected folder
    string fullPathToFolder = dialog.FolderName;
    string folderNameOnly = dialog.SafeFolderName;
}
' Configure open folder dialog box
Dim dialog As New Microsoft.Win32.OpenFolderDialog()

dialog.Multiselect = True
dialog.Title = "Select a folder"

' Show open folder dialog box
Dim result As Boolean? = dialog.ShowDialog()

' Process open folder dialog box results
If result = True Then

    ' Get multiple folder names
    For index = 0 To dialog.FolderNames.Length
        ' Get the selected folder
        Dim fullPathToFolder As String = dialog.FolderNames(index)
        Dim folderNameOnly As String = dialog.SafeFolderNames(index)
    Next

End If

Per altre informazioni sulla finestra di dialogo apri cartella, vedere Microsoft.Win32.OpenFolderDialog.

La finestra di dialogo stampa viene utilizzata dalla funzionalità di stampa per scegliere e configurare la stampante in cui un utente desidera stampare i dati.

A print dialog box shown from a WPF application.

La finestra di dialogo stampa comune viene implementata come PrintDialog classe e si trova nello spazio dei System.Windows.Controls nomi . Il codice seguente illustra come creare, configurare e visualizzare una finestra di dialogo di questo tipo.

// Configure printer dialog box
var dialog = new System.Windows.Controls.PrintDialog();
dialog.PageRangeSelection = System.Windows.Controls.PageRangeSelection.AllPages;
dialog.UserPageRangeEnabled = true;

// Show save file dialog box
bool? result = dialog.ShowDialog();

// Process save file dialog box results
if (result == true)
{
    // Document was printed
}
' Configure printer dialog box
Dim dialog As New System.Windows.Controls.PrintDialog()
dialog.PageRangeSelection = System.Windows.Controls.PageRangeSelection.AllPages
dialog.UserPageRangeEnabled = True

' Show save file dialog box
Dim result As Boolean? = dialog.ShowDialog()

' Process save file dialog box results
If result = True Then
    ' Document was printed
End If

Per altre informazioni sulla finestra di dialogo stampa, vedere System.Windows.Controls.PrintDialog. Per informazioni dettagliate sulla stampa in WPF, vedere Panoramica della stampa.

Vedi anche