public void Save()
{
if (ProjectFile != null && TextDocument != null && IsDirty)
{
System.IO.File.WriteAllText(ProjectFile.Location, TextDocument.Text);
IsDirty = false;
lock (UnsavedFiles)
{
var unsavedFile = UnsavedFiles.BinarySearch(ProjectFile.Location);
if (unsavedFile != null)
{
UnsavedFiles.Remove(unsavedFile);
}
}
}
}