protected override void OnSave()
{
// Important: The constructor StreamWriter(stream) uses UTF-8 encoding without a
// Byte-Order Mark (BOM). Many tools, such as the DirectX effect compiler (fxc.exe),
// cannot read files with BOM.
using (var stream = new FileStream(Uri.LocalPath, FileMode.Create, FileAccess.Write, FileShare.None))
{
using (var writer = new StreamWriter(stream))
{
_encoding = writer.Encoding;
AvalonEditDocument.WriteTextTo(writer);
}
}
// Place marker in Undo stack to mark current state as "original".
AvalonEditDocument.UndoStack.MarkAsOriginalFile();
_fileInfo = new FileInfo(Uri.LocalPath);
BeginInvokeUpdateProperties();
}