public async void CheckForChanges() { DataContract.FileInfo info = FileInfo; //check the fileinfo data if (info == null) { return; } //If the file exists if (!File.Exists(info.Filename)) { return; } //If the file was modified after the last modification date if (File.GetLastWriteTime(info.Filename) <= info.LastModifiedDate) { return; } //Then we can show a message MessageDialogResult Result = await new ViewModelLocator() .Main.ShowFileChangedDialog(); if (Result == MessageDialogResult.Affirmative) { string oldText = LocalisationParser .ParseLocalizationForCompare(this); string newText = LocalisationParser. ParseLocalizationFileForCompare(info.Filename); SideBySideDiffModel model = new SideBySideDiffBuilder( new Differ()).BuildDiffModel(oldText, newText); new ViewModelLocator().CodeComparator.DiffModel = model; new CompareCode().ShowDialog(); } }