LayoutManager
StockSharp.Xaml.Diagram.GXDiagram
此类负责自动定位图中的所有节点.
继承自: FrameworkElement
构造函数
LayoutManager
public LayoutManager()
layoutManager = LayoutManager()
标准布局管理器的构造器,该布局管理器是 LayoutManager 的初始值 。
属性
Animated
public bool Animated { get; set; }
value = layoutManager.Animated
layoutManager.Animated = value
获得或设定是否应该有动画动作将节点从目前的位置移动到已经设定的位置.
AnimationDisablesDiagram
public bool AnimationDisablesDiagram { get; set; }
value = layoutManager.AnimationDisablesDiagram
layoutManager.AnimationDisablesDiagram = value
获取或设定图在布局动画中是否被禁用 。
AnimationTime
public int AnimationTime { get; set; }
value = layoutManager.AnimationTime
layoutManager.AnimationTime = value
获得或设定时间, 以毫秒计, 任何动画都该使用 。
DefaultLocation
public Point DefaultLocation { get; set; }
value = layoutManager.DefaultLocation
layoutManager.DefaultLocation = value
获取或设定动画开头时出现的未定位节点的位置.
Diagram
public Diagram Diagram { get; internal set; }
value = layoutManager.Diagram
layoutManager.Diagram = value
获取此 LayoutManager 执行自动布局的图表 。
Initial
public LayoutInitial Initial { get; set; }
value = layoutManager.Initial
layoutManager.Initial = value
获得或设定模型的"初始化"或"重置"在什么条件下会导致布局无效.
SkipsInvalidate
public bool SkipsInvalidate { get; set; }
value = layoutManager.SkipsInvalidate
layoutManager.SkipsInvalidate = value
获取或设定 LayoutChange) 当某个部分被添加/删除/更改时,它是否应当不做任何工作 。
方法
CanLayoutPart
public virtual bool CanLayoutPart(Part p, IDiagramLayout lay)
result = layoutManager.CanLayoutPart(p, lay)
此上游决定一个部分是否应当参与 IDiagramLayout 的布局 。
- p
- 节点或链接
- lay
- 用于定位该部分的布局
返回值: 如果该部分可见, 如果该部分的LayoutId不是"无", 并且是"全部"或与版面的 Id 相同值。 对所有的 Adordments 和所有为 IsLinkLabel 的节点以及所有没有版面的组都是假的 。
InvalidateLayout
public virtual void InvalidateLayout(Part p, LayoutChange change)
layoutManager.InvalidateLayout(p, change)
宣布IDiagramLayout包括给定部分现在无效,可能需要很快再次执行.
- p
- 必须是部分
- change
- 提示需要新布局的原因; 用于决定是否真的需要布局。
LayoutDiagram
public virtual void LayoutDiagram(LayoutInitial init, bool immediate)
layoutManager.LayoutDiagram(init, immediate)
请求重播此图中所有已失效的布局 。
- init
- 如果值为 InvalidateAll, 所有 IDiagramLayouts 将被宣布无效, 并且全部在参数给出的时间进行。 如果值为 InvalidateIfNodesUnlocated, IDiagramLayouts 将被宣布无效, 只有当它们负责没有位置的节点, 因为 X 和/ 或 Y 值为 Double.NaN 。 如果值为 ValidateAll, 所有 IDiagramLayouts 将被宣布无效, 并且直到其它情况发生无效布局后, 才会出现布局。 如果值为 None, 则不会改变布局有效性 -- 在指定的时间将执行任何无效布局 。
- immediate
- 如果选中此项, 则会立即执行布局。 如果此方法不正确, 则会很快执行布局 。
MoveAnimated
public void MoveAnimated(Node node, Point newpos)
layoutManager.MoveAnimated(node, newpos)
这基本上只是设定了位置值,但随着动画的移动.
- node
- newpos
- 模型坐标中的新位置
PerformLayout
protected virtual void PerformLayout()
layoutManager.PerformLayout()
这个方法被叫作同步来布局一个图表.
字段
AnimatedProperty
public static readonly DependencyProperty AnimatedProperty
value = LayoutManager.AnimatedProperty
识别动画的依赖属性.
AnimationDisablesDiagramProperty
public static readonly DependencyProperty AnimationDisablesDiagramProperty
value = LayoutManager.AnimationDisablesDiagramProperty
确定AnimationDisablesDiagram的受抚养财产。
AnimationTimeProperty
public static readonly DependencyProperty AnimationTimeProperty
value = LayoutManager.AnimationTimeProperty
确定AnimationTime的受抚养财产。
DefaultLocationProperty
public static readonly DependencyProperty DefaultLocationProperty
value = LayoutManager.DefaultLocationProperty
确定DefaultLocation的受抚养财产。
InitialProperty
public static readonly DependencyProperty InitialProperty
value = LayoutManager.InitialProperty
确定初始依赖财产。