БлогNot. Диалоги открытия и сохранения файла в приложении WPF

Диалоги открытия и сохранения файла в приложении WPF

Несмотря на то, что в панели элементов WPF по умолчанию нет диалогов для открытия и сохранения файла, вы легко можете найти эти стандартные диалоговые окна в пространстве имен Microsoft.Win32. Ниже показано простое приложение для открытия и сохранения текстового файла.

Файл отображается в элементе TextBox, для которого разрешены переносы строк и нажатия Enter, а также включена вертикальная прокрутка.

Основная часть XAML-разметки окна выглядит так:

<DockPanel Margin="10">
 <WrapPanel HorizontalAlignment="Center" DockPanel.Dock="Top"
  Margin="0,0,0,10">
  <Button Name="btnOpenFile" Click="btnOpenFile_Click" Margin="5">
    Open file</Button>
  <Button Name="btnSaveFile" Click="btnSaveFile_Click" Margin="5">
    Save file</Button>
 </WrapPanel>
 <TextBox Name="txtEditor" TextWrapping="WrapWithOverflow"
  AcceptsReturn="True" VerticalScrollBarVisibility="Visible"/>
</DockPanel>

Обработчики кнопок открытия и сохранения файла мало чем отличаются от своих аналогов из Windows Forms:

  private void btnOpenFile_Click (object sender, RoutedEventArgs e) {
   OpenFileDialog openFileDialog = new OpenFileDialog();
   openFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
   openFileDialog.InitialDirectory = @"d:\Prog\";
   if (openFileDialog.ShowDialog () == true)
    txtEditor.Text = File.ReadAllText (openFileDialog.FileName);
  }
  private void btnSaveFile_Click (object sender, RoutedEventArgs e) {
   SaveFileDialog saveFileDialog = new SaveFileDialog();
   saveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
   saveFileDialog.InitialDirectory = @"d:\Prog\";
   if (saveFileDialog.ShowDialog () == true)
    File.WriteAllText (saveFileDialog.FileName, txtEditor.Text);
   }
  }

 Скачать проект Wpf_FileDialogs в архиве .zip, развернуть в новую папку (VS-2019) (9 Кб)

Windows Forms и WPF: эквивалентные элементы управления

15.09.2023, 20:17 [561 просмотр]


теги: c# программирование textprocessing

показать комментарии (1)