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);
}
}
|