protected void DoRefresh(Action action) { if (DirtyStatus.IsDirty) { if (MessageDialog.AskToRefresh() == MessageDialogResult.No) { return; } } action(); DirtyStatus.Clear(); }