using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace WpfMenu1 { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { private string filename; private string strEdited; public MainWindow() { InitializeComponent(); label1.Content = "Please Open a document first "; label2.Content = "To Create new File Enter a name below and text in the large box. "; cleanup(); } private void cleanup() { txtContainer.Text = ""; textBox1.Text = ""; } private void MenuItem_Open(object sender, RoutedEventArgs e) { cleanup(); Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); //Using filter for file extensions dlg.DefaultExt = ".txt"; dlg.Filter = "Text documents (.txt)|*.txt,*.doc,*.docx" + "|All Files|*.*"; ; // OpenFileDialog calls ShowDialog method Nullable result = dlg.ShowDialog(); if (result == true) { // Open document filename = dlg.FileName; label1.Content = filename; FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read); Paragraph paragraph = new Paragraph(); paragraph.Inlines.Add(System.IO.File.ReadAllText(dlg.FileName)); FlowDocument document = new FlowDocument(paragraph); FlowDocReader.Document = document; StreamReader sr = new StreamReader(fs); String str1; while ((str1 = sr.ReadLine()) != null) { txtContainer.Text += str1; } str1 = ""; sr.Close(); fs.Close(); } } private void Text_Changed(object sender, RoutedEventArgs e) { label2.Content = "Text Changed"; strEdited = txtContainer.Text; } private void MenuItem_Save(object sender, RoutedEventArgs e) { Microsoft.Win32.SaveFileDialog savedlg1 = new Microsoft.Win32.SaveFileDialog(); savedlg1.InitialDirectory = filename; savedlg1.Title = "Save text Files"; savedlg1.CheckFileExists = true; savedlg1.CheckPathExists = true; savedlg1.DefaultExt = "txt"; savedlg1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; savedlg1.FilterIndex = 2; savedlg1.RestoreDirectory = true; if (filename == null) { filename = @"C:\Local_WPF\WpfMenu1\WpfMenu1\TextFile1.txt"; }; if (savedlg1.ShowDialog() == true) { label1.Content = savedlg1.FileName; string errString = strEdited; //FileStream fs = File.OpenWrite(filename); FileStream fs = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); StreamWriter SW = new StreamWriter(fs); SW.Write(strEdited); SW.Close(); //fs.Flush(); fs.Close(); label2.Content += "\n" + " Your Texts were saved "; } cleanup(); } private void Menu_New(object sender, RoutedEventArgs e) { //textBox1.Text = "Enterfilename.txt"; String createFile = @"C:\Local_WPF\WpfMenu1\WpfMenu1\" + textBox1.Text; try { if (createFile == null) { createFile = @"C:\Local_WPF\WpfMenu1\WpfMenu1\TextFile1.txt"; } FileStream fs = File.Create(createFile); StreamWriter sw = new StreamWriter(fs); sw.Write(txtContainer.Text); sw.Close(); //fs.Flush(); fs.Close(); } catch (Exception err) { label2.Content = err.ToString() + "error"; } finally { label2.Content = "File " + createFile + " Created "; textBox1.Text = ""; txtContainer.Text = ""; } } } }