Otevření běžného dialogového okna (WPF .NET)

Tento článek ukazuje, jak můžete zobrazit běžné systémové dialogové okno ve Windows Presentation Foundation (WPF). Systém Windows implementuje různé druhy opakovaně použitelných dialogových oken, která jsou společná pro všechny aplikace, včetně dialogových oken pro výběr souborů a tisku.

Vzhledem k tomu, že tato dialogová okna poskytují operační systém, sdílí se mezi všemi aplikacemi, které běží v operačním systému. Tato dialogová okna poskytují konzistentní uživatelské prostředí a označují se jako běžná dialogová okna. Když uživatel používá společné dialogové okno v jedné aplikaci, nemusí se naučit používat toto dialogové okno v jiných aplikacích.

Pole se zprávou je dalším běžným dialogovým oknem. Další informace naleznete v tématu Jak otevřít okno se zprávou.

Dialogové okno Otevřít soubor

Dialogové okno Otevřít soubor slouží k načtení názvu souboru, který se má otevřít.

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

Společné otevřené dialogové okno souboru je implementováno OpenFileDialog jako třída a je umístěn v Microsoft.Win32 oboru názvů. Následující kód ukazuje, jak vytvořit, nakonfigurovat a zobrazit dialogové okno.

// 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

Další informace o dialogovém okně Otevřít soubor naleznete v tématu Microsoft.Win32.OpenFileDialog.

dialogové okno Uložení souboru

Dialogové okno Uložit soubor používá funkce ukládání souborů k načtení názvu souboru k uložení.

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

Společné dialogové okno Uložit soubor je implementováno SaveFileDialog jako třída a je umístěn v Microsoft.Win32 oboru názvů. Následující kód ukazuje, jak vytvořit, nakonfigurovat a zobrazit dialogové okno.

// 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

Další informace o dialogovém okně Uložit soubor naleznete v tématu Microsoft.Win32.SaveFileDialog.

Dialogové okno Otevřít složku

Důležité

Dialogové okno Otevřít složku je k dispozici v .NET 8.0 a novější.

Dialogové okno Otevřít složku používá uživatel k výběru jedné nebo více složek a jejich vrácení do programu. Pokud například program zobrazil informace o složce, například množství souborů a názvů souborů ve složce, můžete pomocí dialogového okna Otevřít složku umožnit uživateli zvolit složku.

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

Společné dialogové okno otevřít složku je implementováno OpenFolderDialog jako třída a je umístěn v Microsoft.Win32 oboru názvů. Následující kód ukazuje, jak vytvořit, nakonfigurovat a zobrazit dialogové okno.

// 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

Další informace o dialogovém okně otevřít složku naleznete v tématu Microsoft.Win32.OpenFolderDialog.

Tiskové dialogové okno slouží k výběru a konfiguraci tiskárny, do které chce uživatel tisknout data.

A print dialog box shown from a WPF application.

Společné dialogové okno tisku je implementováno jako PrintDialog třída a nachází se v System.Windows.Controls oboru názvů. Následující kód ukazuje, jak ho vytvořit, nakonfigurovat a zobrazit.

// 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

Další informace o dialogovém okně tisk naleznete v tématu System.Windows.Controls.PrintDialog. Podrobné informace o tisku ve WPF najdete v tématu Přehled tisku.

Viz také