public static void DisplayEditableWindow(AbstractDetailsComponent content, DetailsWindowModes mode, long Id = -1) { Window window = new Window(); var tmp = new BasicDetailsControl(); content.CurrentId = Id; tmp.DataContext = new BasicDetailsControlViewModel(content, mode, Id, new BasicDetailsControlConfiguration()); window.Content = tmp; window.ShowDialog(); }
public BasicDetailsControlViewModel(AbstractDetailsComponent uc, DetailsWindowModes mode, long id, BasicDetailsControlConfiguration configuration) { this.ContentControl = uc; this.ActualMode = mode; this.IsBusy = false; this.ChangeMode(this.ActualMode); this.IsSelectedReadonly = mode == DetailsWindowModes.Readonly ? true : false; this.CurrentId = id; this.CurrentMode = mode; this.DeleteEnabled = DeleteEnabled; this.Configuration = configuration; }
private void ChangeModeBackgroundOperation(DetailsWindowModes changeTo) { TaskManager.DoBackgroundWork(() => { this.IsBusy = true; this.ContentControl.ChangeMode(changeTo); }, () => { this.IsBusy = false; } ); }
public void ChangeMode(DetailsWindowModes mode) { this.CurrentMode = mode; switch (mode) { case DetailsWindowModes.Readonly: this.IsReadonly = Visibility.Visible; this.IsEdit = Visibility.Collapsed; this.IsSelectedReadonly = true; this.ChangeModeBackgroundOperation(mode); break; case DetailsWindowModes.Edit: this.IsEdit = Visibility.Visible; this.IsReadonly = Visibility.Collapsed; this.IsSelectedReadonly = false; this.ChangeModeBackgroundOperation(mode); break; case DetailsWindowModes.New: this.IsReadonly = Visibility.Visible; this.IsEdit = Visibility.Collapsed; this.IsSelectedReadonly = true; this.IsEdit = Visibility.Visible; this.IsReadonly = Visibility.Collapsed; this.IsSelectedReadonly = false; this.ChangeModeBackgroundOperation(mode); break; default: break; } }