private static void OnCanSaveChanged(DependencyObject dp, DependencyPropertyChangedEventArgs args) { GeneralObject go = (GeneralObject)dp; if (go.CanSave && go.IsModified) { go.Save(); } go.CanSave = false; }