LayoutManager
Этот класс отвечает за автоматическое позиционирование всех узлов на диаграмме.
Наследует: FrameworkElement
Конструкторы
public LayoutManager()
layoutManager = LayoutManager()
Конструктор для стандартного менеджера макета, который является начальным значением LayoutManager.
Свойства
public bool Animated { get; set; }
value = layoutManager.Animated
layoutManager.Animated = value
Получает или устанавливает, должно ли быть анимированное движение, перемещающее узлы из их текущих позиций в их выложенные позиции.
public bool AnimationDisablesDiagram { get; set; }
value = layoutManager.AnimationDisablesDiagram
layoutManager.AnimationDisablesDiagram = value
Получает или устанавливает, отключена ли Диаграмма во время анимации макета.
public int AnimationTime { get; set; }
value = layoutManager.AnimationTime
layoutManager.AnimationTime = value
Получает или устанавливает время в миллисекундах, которое должна занять любая анимация.
public Point DefaultLocation { get; set; }
value = layoutManager.DefaultLocation
layoutManager.DefaultLocation = value
Получает или устанавливает местоположение, из которого неположенные узлы появляются в начале анимации.
public Diagram Diagram { get; internal set; }
value = layoutManager.Diagram
layoutManager.Diagram = value
Получает Диаграмму, для которой этот LayoutManager выполняет автоматические макеты.
public LayoutInitial Initial { get; set; }
value = layoutManager.Initial
layoutManager.Initial = value
Получает или устанавливает, при каких условиях «инициализация» или «перезагрузка» модели должна привести к признанию макетов недействительными.
public bool SkipsInvalidate { get; set; }
value = layoutManager.SkipsInvalidate
layoutManager.SkipsInvalidate = value
Получает или устанавливает, должен ли LayoutChange ничего не делать, когда часть добавлена/удален/изменен.
Методы
public virtual bool CanLayoutPart(Part p, IDiagramLayout lay)
result = layoutManager.CanLayoutPart(p, lay)
Этот предикат решает, должна ли часть участвовать в макете IDiagramLayout.
- p
- Узел или ссылка
- lay
- макет, который может отвечать за позиционирование части
Возвращает: Правда, если часть видна и если LayoutId не является «Никто» и является либо «Всем», либо тем же значением, что и идентификатор макета. Ложно для всех украшений и для всех узлов, которые являются IsLinkLabel, и для всех групп, у которых нет макета.
public virtual void InvalidateLayout(Part p, LayoutChange change)
layoutManager.InvalidateLayout(p, change)
Объявляем, что IDiagramLayout, включая данную часть, в настоящее время недействительна и, возможно, в ближайшее время должна быть выполнена снова.
- p
- должна быть частью
- change
- подсказка о причине необходимости нового макета; это используется, чтобы решить, действительно ли нужен макет.
public virtual void LayoutDiagram(LayoutInitial init, bool immediate)
layoutManager.LayoutDiagram(init, immediate)
Запросить повторное размещение всех недействительных макетов на этой диаграмме.
- init
- Если значение InvalidateAll, все IDiagramLayouts будут признаны недействительными, и все они будут выполнены в момент, указанный в аргументе. Если значение InvalidateIfNodesUnlocated, IDiagramLayouts будет признано недействительным, только если они несут ответственность за Узлы, которые не имеют местоположения, потому что их значения X и / или Y являются Double.NaN. Если значение ValidateAll, все IDiagramLayouts будут объявлены действительными, и никакой макет не произойдет до тех пор, пока не произойдет что-то еще, чтобы аннулировать макет. Если значение Нет, валидность макета не изменяется - любые недействительные макеты будут выполнены в указанное время.
- immediate
- Если это правда, этот метод выполняет немедленную компоновку. Если этот метод неверен, планировка должна произойти в ближайшее время.
public void LayoutDiagram()
layoutManager.LayoutDiagram()
Запросите повторное размещение всех узлов и ссылок на этой диаграмме.
public void MoveAnimated(Node node, Point newpos)
layoutManager.MoveAnimated(node, newpos)
Это в основном просто устанавливает значение позиции, но с анимированным движением.
- node
- newpos
- Новое положение в координатах модели
protected virtual void PerformLayout()
layoutManager.PerformLayout()
Этот метод называется асинхронно для компоновки диаграммы.
Поля
public static readonly DependencyProperty AnimatedProperty
value = LayoutManager.AnimatedProperty
Идентифицирует свойство зависимостей Animated.
public static readonly DependencyProperty AnimationDisablesDiagramProperty
value = LayoutManager.AnimationDisablesDiagramProperty
Идентифицирует свойство зависимости AnimationDisablesDiagram.
public static readonly DependencyProperty AnimationTimeProperty
value = LayoutManager.AnimationTimeProperty
Идентифицирует свойство зависимости AnimationTime.
public static readonly DependencyProperty DefaultLocationProperty
value = LayoutManager.DefaultLocationProperty
Идентифицирует свойство зависимости DefaultLocation.
public static readonly DependencyProperty InitialProperty
value = LayoutManager.InitialProperty
Идентифицирует свойство исходной зависимости.