DiagramViewModel
ViewModel für Diagramm-Viewer / Editor.
Erbt von: NotifiableObject
Eigenschaften
public SizeF CanvasSize { get; set; }
value = diagramViewModel.CanvasSize
diagramViewModel.CanvasSize = value
Canvas Größe, aktualisiert von DiagramPage.SizeChanged.
public DelegateCommand ClearSelectionCommand { get; }
value = diagramViewModel.ClearSelectionCommand
Bekommt den Befehl wrapping ClearSelection.
public CompositionDiagramElement Composition { get; set; }
value = diagramViewModel.Composition
diagramViewModel.Composition = value
Bekommt oder setzt die Composition Observable Property.
public DelegateCommand CopyCommand { get; }
value = diagramViewModel.CopyCommand
Bekommt den Befehl wrapping Copy.
public DelegateCommand CutCommand { get; }
value = diagramViewModel.CutCommand
Bekommt den Befehl wrapping Cut.
public DelegateCommand DeleteCommand { get; }
value = diagramViewModel.DeleteCommand
Bekommt den Befehl wrapping Delete.
public DiagramCanvasDrawable Drawable { get; }
value = diagramViewModel.Drawable
Die Zeichnung für GraphicsView.
public DiagramEditorState EditorState { get; }
value = diagramViewModel.EditorState
Bekommt den Editor-Status.
public string ErrorMessage { get; set; }
value = diagramViewModel.ErrorMessage
diagramViewModel.ErrorMessage = value
Bekommt oder setzt die ErrorMessage beobachtbare Eigenschaft.
public DelegateCommand FitToViewCommand { get; }
value = diagramViewModel.FitToViewCommand
Bekommt den Befehl wrapping FitToView.
public bool HasComposition { get; }
value = diagramViewModel.HasComposition
Ob eine Komposition geladen ist.
public bool IsDirty { get; set; }
value = diagramViewModel.IsDirty
diagramViewModel.IsDirty = value
Bekommt oder setzt die IsDirty beobachtbare Eigenschaft.
public bool IsEditing { get; set; }
value = diagramViewModel.IsEditing
diagramViewModel.IsEditing = value
Bekommt oder setzt die IsEditing beobachtbare Eigenschaft.
public float PanX { get; set; }
value = diagramViewModel.PanX
diagramViewModel.PanX = value
Bekommt oder setzt die PanX beobachtbare Eigenschaft.
public float PanY { get; set; }
value = diagramViewModel.PanY
diagramViewModel.PanY = value
Bekommt oder setzt die PanY beobachtbare Eigenschaft.
public DelegateCommand PasteCommand { get; }
value = diagramViewModel.PasteCommand
Bekommt den Befehl, Paste zu verpacken.
public DelegateCommand RedoCommand { get; }
value = diagramViewModel.RedoCommand
Bekommt den Befehl, Redo zu verpacken.
public DelegateCommand ResetViewCommand { get; }
value = diagramViewModel.ResetViewCommand
Bekommt den Befehl wrapping ResetView.
public DelegateCommand SelectAllCommand { get; }
value = diagramViewModel.SelectAllCommand
Bekommt den Befehl wrapping SelectAll.
public DiagramElement SelectedElement { get; set; }
value = diagramViewModel.SelectedElement
diagramViewModel.SelectedElement = value
Bekommt oder setzt die SelectedElement beobachtbare Eigenschaft.
public ISelectionModel Selection { get; }
value = diagramViewModel.Selection
Bekommt das Auswahlmodell.
public DelegateCommand UndoCommand { get; }
value = diagramViewModel.UndoCommand
Bekommt den Befehl Wrapping Undo.
public float Zoom { get; set; }
value = diagramViewModel.Zoom
diagramViewModel.Zoom = value
Bekommt oder setzt die Zoom-Observable-Eigenschaft.
public DelegateCommand ZoomInCommand { get; }
value = diagramViewModel.ZoomInCommand
Bekommt den Befehl wrapping ZoomIn.
public DelegateCommand ZoomOutCommand { get; }
value = diagramViewModel.ZoomOutCommand
Bekommt den Befehl wrapping ZoomOut.
Methoden
public void CancelLinkCreation()
diagramViewModel.CancelLinkCreation()
Link-Erstellung abbrechen.
public void CancelNodeDrag()
diagramViewModel.CancelNodeDrag()
Abbrechen von Knoten ziehen und Wiederherstellen der ursprünglichen Position.
public void CancelPaletteDrag()
diagramViewModel.CancelPaletteDrag()
Palettenschleppen abbrechen.
public bool CompleteLinkCreation(SocketKey targetSocketKey)
result = diagramViewModel.CompleteLinkCreation(targetSocketKey)
Vollständige Linkerstellung zum Zielsocket.
public bool CompletePaletteDrag(float screenX, float screenY)
result = diagramViewModel.CompletePaletteDrag(screenX, screenY)
Komplette Palette Drag und erstellen Sie einen neuen Knoten.
public void ContinueNodeDrag(float diagramX, float diagramY)
diagramViewModel.ContinueNodeDrag(diagramX, diagramY)
Ziehen Sie einen Knoten oder mehrere Knoten weiter.
private void Copy()
diagramViewModel.Copy()
Kopieren Sie ausgewählte Elemente in das Clipboard.
private void Cut()
diagramViewModel.Cut()
Schneiden Sie ausgewählte Elemente in die Zwischenablage.
public void DeleteLink(string fromNodeKey, string fromSocketId, string toNodeKey, string toSocketId)
diagramViewModel.DeleteLink(fromNodeKey, fromSocketId, toNodeKey, toSocketId)
Löschen Sie eine Verbindung zwischen zwei Sockets.
private void FitToView()
diagramViewModel.FitToView()
Passen Sie das Diagramm zur Ansicht an.
public IEnumerable<SocketKey> GetCompatibleSockets()
result = diagramViewModel.GetCompatibleSockets()
Holen Sie sich alle kompatiblen Sockets für die aktuelle Linkquelle.
public static DiagramFileData LoadFromFile(string filePath)
result = DiagramViewModel.LoadFromFile(filePath)
Ladediagrammdaten aus einer Datei. Hinweis: Diese gibt nur die Datenstruktur zurück.
- filePath
- Der Dateipfad zum Laden von.
Rückgabe: Dateidaten grafisch darstellen oder null, wenn ungültig.
public static DiagramFileData LoadFromStream(Stream stream)
result = DiagramViewModel.LoadFromStream(stream)
Ladediagrammdaten aus einem Stream Hinweis: Dies gibt nur die Datenstruktur zurück Verwenden Sie das Laden der Zusammensetzung für die vollständige Wiederherstellung.
- stream
- Der stream zum lesen.
Rückgabe: Dateidaten grafisch darstellen oder null, wenn ungültig.
public void NotifyClipboardChanged()
diagramViewModel.NotifyClipboardChanged()
Benachrichtigung über Befehlsänderungen am Zwischenablage-Kommando.
public void NotifyUndoRedoChanged()
diagramViewModel.NotifyUndoRedoChanged()
Benachrichtigen Sie, dass sich der Status Undo/Redo möglicherweise geändert hat.
public void OnPan(float deltaX, float deltaY)
diagramViewModel.OnPan(deltaX, deltaY)
Griff Pan Geste Delta.
public void OnPinch(float scale, float focusX, float focusY)
diagramViewModel.OnPinch(scale, focusX, focusY)
Griff mit einer Prisegeste.
public void OnTap(float screenX, float screenY)
diagramViewModel.OnTap(screenX, screenY)
Tippen Sie auf die Bildschirmkoordinaten.
public void OnTapWithModifier(float screenX, float screenY, bool addToSelection)
diagramViewModel.OnTapWithModifier(screenX, screenY, addToSelection)
Griff tippen mit Modifier für Multi-Select.
private void ResetView()
diagramViewModel.ResetView()
Zoom und Schwenk auf Standard zurücksetzen.
public void SaveToFile(string filePath)
diagramViewModel.SaveToFile(filePath)
Speichern Sie das Diagramm in einer Datei.
- filePath
- Der Dateipfad zum Speichern.
public void SaveToStream(Stream stream)
diagramViewModel.SaveToStream(stream)
Speichern Sie das Diagramm in einem Stream.
- stream
- Der stream zum schreiben.
public string SaveToString()
result = diagramViewModel.SaveToString()
Speichern Sie das Diagramm in einem JSON-String.
Rückgabe: JSON Darstellung des Diagramms.
public void SelectNodesInRect(RectF screenRect)
diagramViewModel.SelectNodesInRect(screenRect)
Wählen Sie alle Knoten innerhalb eines Bildschirmraum-Rechtecks (Gummibandauswahl).
public void SetInvalidateCallback(Action invalidate)
diagramViewModel.SetInvalidateCallback(invalidate)
Setzen Sie den Canvas-Invalidierungs-Callback.
public void StartLinkCreation(SocketKey socketKey, float screenX, float screenY)
diagramViewModel.StartLinkCreation(socketKey, screenX, screenY)
Starten Sie einen Link aus einem Socket erstellen.
public void StartNodeDrag(string nodeKey, float diagramX, float diagramY)
diagramViewModel.StartNodeDrag(nodeKey, diagramX, diagramY)
Starten Sie das Ziehen eines Knotens (oder mehrere, wenn sich der Knoten in einer Multi-Selection befindet).
public void StartPaletteDrag(PaletteItem item, float screenX, float screenY)
diagramViewModel.StartPaletteDrag(item, screenX, screenY)
Starten Sie ein Element aus der Palette ziehen.
private bool TryCreateElement(PaletteItem item, float x, float y)
result = diagramViewModel.TryCreateElement(item, x, y)
Versuchen Sie, ein neues Element an der angegebenen Position zu erstellen.
public void UpdateLinkCreation(float screenX, float screenY)
diagramViewModel.UpdateLinkCreation(screenX, screenY)
Aktualisieren Sie den Link Creation Endpoint.
public void UpdateLinkHover(SocketKey hoverSocket)
diagramViewModel.UpdateLinkHover(hoverSocket)
Update Link Hover Validierungszustand.
public void UpdatePaletteDrag(float screenX, float screenY, bool isOverCanvas)
diagramViewModel.UpdatePaletteDrag(screenX, screenY, isOverCanvas)
Paletten-Drag-Position aktualisieren.
public bool ValidateLink(SocketKey source, SocketKey target, string error)
result = diagramViewModel.ValidateLink(source, target, error)
Validieren Sie, ob ein Link zwischen zwei Sockets erstellt werden kann.
- source
- Source Socket.
- target
- Zielsteckdose.
- error
- Fehlermeldung, falls ungültig.
Rückgabe: True, wenn der Link gültig ist.
private bool WouldCreateCycle(string fromNodeKey, string toNodeKey)
result = diagramViewModel.WouldCreateCycle(fromNodeKey, toNodeKey)
Überprüfen Sie, ob das Hinzufügen eines Links einen Zyklus im Diagramm erzeugen würde.