DiagramViewModel
ViewModel для просмотра/редактора диаграмм.
Наследует: NotifiableObject
Свойства
public SizeF CanvasSize { get; set; }
value = diagramViewModel.CanvasSize
diagramViewModel.CanvasSize = value
Размер холста, обновленный с DiagramPage.SizeChanged.
public DelegateCommand ClearSelectionCommand { get; }
value = diagramViewModel.ClearSelectionCommand
Получает команду wrapping ClearSelection.
public CompositionDiagramElement Composition { get; set; }
value = diagramViewModel.Composition
diagramViewModel.Composition = value
Получает или устанавливает состав наблюдаемого свойства.
public DelegateCommand CopyCommand { get; }
value = diagramViewModel.CopyCommand
Получил команду, обернув Копию.
public DelegateCommand CutCommand { get; }
value = diagramViewModel.CutCommand
Получает команду, оборачивающую Cut.
public DelegateCommand DeleteCommand { get; }
value = diagramViewModel.DeleteCommand
Получает команду, упаковывающую Удалить.
public DiagramCanvasDrawable Drawable { get; }
value = diagramViewModel.Drawable
Приводимая для GraphicsView.
public DiagramEditorState EditorState { get; }
value = diagramViewModel.EditorState
Получает состояние редактора.
public string ErrorMessage { get; set; }
value = diagramViewModel.ErrorMessage
diagramViewModel.ErrorMessage = value
Получает или устанавливает ErrorMessage наблюдаемое свойство.
public DelegateCommand FitToViewCommand { get; }
value = diagramViewModel.FitToViewCommand
Получает команду wrapping FitToView.
public bool HasComposition { get; }
value = diagramViewModel.HasComposition
Если загружена композиция.
public bool IsDirty { get; set; }
value = diagramViewModel.IsDirty
diagramViewModel.IsDirty = value
Получает или устанавливает IsDirty наблюдаемое свойство.
public bool IsEditing { get; set; }
value = diagramViewModel.IsEditing
diagramViewModel.IsEditing = value
Получает или устанавливает IsEditing наблюдаемое свойство.
public float PanX { get; set; }
value = diagramViewModel.PanX
diagramViewModel.PanX = value
Получает или устанавливает PanX наблюдаемое свойство.
public float PanY { get; set; }
value = diagramViewModel.PanY
diagramViewModel.PanY = value
Получает или устанавливает PanY наблюдаемое свойство.
public DelegateCommand PasteCommand { get; }
value = diagramViewModel.PasteCommand
Получил команду, обертывающую Пасту.
public DelegateCommand RedoCommand { get; }
value = diagramViewModel.RedoCommand
Получил команду, завернув Редо.
public DelegateCommand ResetViewCommand { get; }
value = diagramViewModel.ResetViewCommand
Получает команду wrapping ResetView.
public DelegateCommand SelectAllCommand { get; }
value = diagramViewModel.SelectAllCommand
Получает команду wrapping SelectAll.
public DiagramElement SelectedElement { get; set; }
value = diagramViewModel.SelectedElement
diagramViewModel.SelectedElement = value
Получает или устанавливает SelectedElement наблюдаемое свойство.
public ISelectionModel Selection { get; }
value = diagramViewModel.Selection
Получил модель отбора.
public DelegateCommand UndoCommand { get; }
value = diagramViewModel.UndoCommand
Получил команду, завернув Ундо.
public float Zoom { get; set; }
value = diagramViewModel.Zoom
diagramViewModel.Zoom = value
Получает или устанавливает наблюдаемое свойство Zoom.
public DelegateCommand ZoomInCommand { get; }
value = diagramViewModel.ZoomInCommand
Получает команду wrapping ZoomIn.
public DelegateCommand ZoomOutCommand { get; }
value = diagramViewModel.ZoomOutCommand
Получает команду wrapping ZoomOut.
Методы
public void CancelLinkCreation()
diagramViewModel.CancelLinkCreation()
Отменить создание ссылок.
public void CancelNodeDrag()
diagramViewModel.CancelNodeDrag()
Отмените перетаскивание узла и восстановите исходное положение.
public void CancelPaletteDrag()
diagramViewModel.CancelPaletteDrag()
Отменить палитру.
public bool CompleteLinkCreation(SocketKey targetSocketKey)
result = diagramViewModel.CompleteLinkCreation(targetSocketKey)
Полное создание ссылок на целевую розетку.
public bool CompletePaletteDrag(float screenX, float screenY)
result = diagramViewModel.CompletePaletteDrag(screenX, screenY)
Полная палитра перетаскивания и создания нового узла.
public void ContinueNodeDrag(float diagramX, float diagramY)
diagramViewModel.ContinueNodeDrag(diagramX, diagramY)
Продолжайте перетаскивать узел или несколько узлов.
public void DeleteLink(string fromNodeKey, string fromSocketId, string toNodeKey, string toSocketId)
diagramViewModel.DeleteLink(fromNodeKey, fromSocketId, toNodeKey, toSocketId)
Удалить связь между двумя розетками.
public IEnumerable<SocketKey> GetCompatibleSockets()
result = diagramViewModel.GetCompatibleSockets()
Получите все совместимые розетки для текущего источника ссылок.
public static DiagramFileData LoadFromFile(string filePath)
result = DiagramViewModel.LoadFromFile(filePath)
Данные диаграммы загрузки из файла. Примечание: Это только возвращает структуру данных. Используйте композиционную нагрузку для полного восстановления.
- filePath
- Путь файла для загрузки.
Возвращает: Данные файла Diagram или нулевые, если они недействительны.
public static DiagramFileData LoadFromStream(Stream stream)
result = DiagramViewModel.LoadFromStream(stream)
Данные диаграммы нагрузки из потока. Примечание: Это только возвращает структуру данных. Используйте композиционную нагрузку для полного восстановления.
- stream
- Поток для чтения.
Возвращает: Данные файла Diagram или нулевые, если они недействительны.
public void NotifyClipboardChanged()
diagramViewModel.NotifyClipboardChanged()
Уведомить об изменениях состояния команды буфера обмена.
public void NotifyUndoRedoChanged()
diagramViewModel.NotifyUndoRedoChanged()
Уведомить, что состояние undo/redo может измениться.
public void OnPan(float deltaX, float deltaY)
diagramViewModel.OnPan(deltaX, deltaY)
Обработайте жест дельты.
public void OnPinch(float scale, float focusX, float focusY)
diagramViewModel.OnPinch(scale, focusX, focusY)
Помогите с жестом.
public void OnTap(float screenX, float screenY)
diagramViewModel.OnTap(screenX, screenY)
Ручной нажатие на координаты экрана.
public void OnTapWithModifier(float screenX, float screenY, bool addToSelection)
diagramViewModel.OnTapWithModifier(screenX, screenY, addToSelection)
Ручной кран с модификатором для мультивыбора.
private void ResetView()
diagramViewModel.ResetView()
Сбросьте зум и панораму по умолчанию.
public void SaveToFile(string filePath)
diagramViewModel.SaveToFile(filePath)
Сохраните диаграмму в файл.
- filePath
- Путь к файлу для сохранения.
public void SaveToStream(Stream stream)
diagramViewModel.SaveToStream(stream)
Сохраните диаграмму в потоке.
- stream
- Поток, в который осуществляется запись.
public string SaveToString()
result = diagramViewModel.SaveToString()
Сохраните диаграмму до строки JSON.
Возвращает: JSON представление диаграммы.
public void SelectNodesInRect(RectF screenRect)
diagramViewModel.SelectNodesInRect(screenRect)
Выберите все узлы в прямоугольнике пространства экрана (выбор полосы резинки).
public void SetInvalidateCallback(Action invalidate)
diagramViewModel.SetInvalidateCallback(invalidate)
Установите обратный вызов для признания холста недействительным.
public void StartLinkCreation(SocketKey socketKey, float screenX, float screenY)
diagramViewModel.StartLinkCreation(socketKey, screenX, screenY)
Начните создавать ссылку из розетки.
public void StartNodeDrag(string nodeKey, float diagramX, float diagramY)
diagramViewModel.StartNodeDrag(nodeKey, diagramX, diagramY)
Начните перетаскивание узла (или множественного, если узел находится в многоотборном режиме).
public void StartPaletteDrag(PaletteItem item, float screenX, float screenY)
diagramViewModel.StartPaletteDrag(item, screenX, screenY)
Начните вытаскивать элемент из палитры.
private bool TryCreateElement(PaletteItem item, float x, float y)
result = diagramViewModel.TryCreateElement(item, x, y)
Попробуйте создать новый элемент в указанном положении.
public void UpdateLinkCreation(float screenX, float screenY)
diagramViewModel.UpdateLinkCreation(screenX, screenY)
Обновление конечной точки создания ссылок.
public void UpdateLinkHover(SocketKey hoverSocket)
diagramViewModel.UpdateLinkHover(hoverSocket)
Состояние проверки на валидацию на веерной линии обновления.
public void UpdatePaletteDrag(float screenX, float screenY, bool isOverCanvas)
diagramViewModel.UpdatePaletteDrag(screenX, screenY, isOverCanvas)
Обновление палитры перетаскивания позиции.
public bool ValidateLink(SocketKey source, SocketKey target, string error)
result = diagramViewModel.ValidateLink(source, target, error)
Проверить, можно ли создать связь между двумя розетками.
- source
- Источник сокет.
- target
- Целевая розетка.
- error
- Сообщение об ошибке, если оно недействительно.
Возвращает: Правда, если ссылка действительна.
private bool WouldCreateCycle(string fromNodeKey, string toNodeKey)
result = diagramViewModel.WouldCreateCycle(fromNodeKey, toNodeKey)
Проверьте, если добавление ссылки будет создавать цикл в графе.