public DiagramFretLabelEditorViewModel(DiagramFretLabel diagramFretLabel, bool isNew) { DiagramFretLabel = diagramFretLabel ?? throw new ArgumentNullException(nameof(diagramFretLabel)); // Save properties _text = diagramFretLabel.Text; // Save original _originalStyle = new ObservableDiagramStyle(diagramFretLabel.Style); // Create editable clone DiagramStyle clone = _originalStyle.Style.Clone(); if (_originalStyle.Style.ReadOnly) { clone.MarkAsReadOnly(); } Style = new ObservableDiagramStyle(clone); Style.PropertyChanged += ObservableDiagramStyle_PropertyChanged; if (isNew) { _dirty = true; } }
public ShowDiagramFretLabelEditorMessage(DiagramFretLabel diagramFretLabel, bool isNew, Action <bool> callback = null) : base() { DiagramFretLabelEditorVM = new DiagramFretLabelEditorViewModel(diagramFretLabel, isNew); Callback = callback; }