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 = "";
}
}
}
}