private void EditModelSystem(ModelSystemEditingSession modelSystemSession) { if(modelSystemSession != null) { var display = new ModelSystemDisplay() { HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch, ModelSystem = modelSystemSession.ModelSystemModel, Session = modelSystemSession, }; var doc = AddNewWindow("Model System - " + modelSystemSession.ModelSystemModel.Name, display); doc.Closed += (o, e) => { modelSystemSession.Dispose(); }; display.RequestClose += (ignored) => doc.Close(); doc.IsSelected = true; Keyboard.Focus(display); display.Focus(); } }
private void EditModelSystem(ModelSystemEditingSession modelSystemSession) { if (modelSystemSession != null) { var display = new ModelSystemDisplay() { HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch, ModelSystem = modelSystemSession.ModelSystemModel, Session = modelSystemSession, }; var titleBarName = modelSystemSession.EditingProject ? modelSystemSession.ProjectEditingSession.Name + " - " + modelSystemSession.ModelSystemModel.Name : "Model System - " + modelSystemSession.ModelSystemModel.Name; var doc = AddNewWindow(titleBarName, display); PropertyChangedEventHandler onRename = (o, e) => { Dispatcher.Invoke(() => { doc.Title = modelSystemSession.EditingProject ? modelSystemSession.ProjectEditingSession.Name + " - " + modelSystemSession.ModelSystemModel.Name : "Model System - " + modelSystemSession.ModelSystemModel.Name; ; }); }; modelSystemSession.NameChanged += onRename; doc.Closing += (o, e) => { e.Cancel = !display.CloseRequested(); if (e.Cancel == false) { modelSystemSession.NameChanged -= onRename; } }; doc.Closed += (o, e) => { modelSystemSession.Dispose(); }; display.RequestClose += (ignored) => doc.Close(); doc.IsSelected = true; Keyboard.Focus(display); display.Focus(); } }