Siegfried Pammer 14 years ago
parent
commit
6d8bf0047d
  1. 15
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfViewContent.cs

15
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/WpfViewContent.cs

@ -60,6 +60,7 @@ namespace ICSharpCode.WpfDesign.AddIn
protected override void LoadInternal(OpenedFile file, System.IO.Stream stream) protected override void LoadInternal(OpenedFile file, System.IO.Stream stream)
{ {
wasChangedInDesigner = false;
Debug.Assert(file == this.PrimaryFile); Debug.Assert(file == this.PrimaryFile);
_stream = new MemoryStream(); _stream = new MemoryStream();
@ -108,10 +109,11 @@ namespace ICSharpCode.WpfDesign.AddIn
} }
private MemoryStream _stream; private MemoryStream _stream;
bool wasChangedInDesigner;
protected override void SaveInternal(OpenedFile file, System.IO.Stream stream) protected override void SaveInternal(OpenedFile file, System.IO.Stream stream)
{ {
if (IsDirty && designer.DesignContext != null) { if (wasChangedInDesigner && designer.DesignContext != null) {
XmlWriterSettings settings = new XmlWriterSettings(); XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true; settings.Indent = true;
settings.IndentChars = EditorControlService.GlobalOptions.IndentationString; settings.IndentChars = EditorControlService.GlobalOptions.IndentationString;
@ -120,12 +122,10 @@ namespace ICSharpCode.WpfDesign.AddIn
designer.SaveDesigner(xmlWriter); designer.SaveDesigner(xmlWriter);
} }
} else { } else {
if (_stream.CanRead) { _stream.Position = 0;
_stream.Position = 0; using (var reader = new StreamReader(new UnclosableStream(_stream))) {
using (var reader = new StreamReader(_stream)) { using (var writer = new StreamWriter(stream)) {
using (var writer = new StreamWriter(stream)) { writer.Write(reader.ReadToEnd());
writer.Write(reader.ReadToEnd());
}
} }
} }
} }
@ -153,6 +153,7 @@ namespace ICSharpCode.WpfDesign.AddIn
void OnUndoStackChanged(object sender, EventArgs e) void OnUndoStackChanged(object sender, EventArgs e)
{ {
wasChangedInDesigner = true;
this.PrimaryFile.MakeDirty(); this.PrimaryFile.MakeDirty();
} }

Loading…
Cancel
Save