Mega Code Archive

 
Categories / C# Tutorial / WPF
 

Using SaveFileDialog and set filter

using Microsoft.Win32; using System; using System.IO; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media;     public class MainClass : Window     {         RichTextBox txtbox = new RichTextBox();         [STAThread]         public static void Main()         {             Application app = new Application();             app.Run(new MainClass());         }         public MainClass()         {             txtbox.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;             Content = txtbox;             txtbox.Focus();         }         protected override void OnPreviewTextInput(TextCompositionEventArgs args)         {             if (args.ControlText.Length > 0 && args.ControlText[0] == '\x13')             {                 SaveFileDialog dlg = new SaveFileDialog();                 dlg.Filter = "Document Files(*.xaml)|*.xaml|All files (*.*)|*.*";                 if ((bool)dlg.ShowDialog(this))                 {                     FlowDocument flow = txtbox.Document;                     TextRange range = new TextRange(flow.ContentStart,                                                      flow.ContentEnd);                     Stream strm = null;                     try                     {                         strm = new FileStream(dlg.FileName, FileMode.Create);                         range.Save(strm, DataFormats.Xaml);                     }                     catch (Exception exc)                     {                         MessageBox.Show(exc.Message, Title);                     }                     finally                     {                         if (strm != null)                             strm.Close();                     }                 }                 args.Handled = true;             }             base.OnPreviewTextInput(args);         }     }