本文整理汇总了C#中Link.InvalidateLayout方法的典型用法代码示例。如果您正苦于以下问题:C# Link.InvalidateLayout方法的具体用法?C# Link.InvalidateLayout怎么用?C# Link.InvalidateLayout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Link
的用法示例。
在下文中一共展示了Link.InvalidateLayout方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnLinkRemoving
/// <summary>
/// Called before the <paramref name="link"/> is removed from the diagram.
/// </summary>
/// <param name="link">a <see cref="Link"/></param>
/// <remarks>
/// <para>
/// Removing a link will request a new automatic layout.
/// </para>
/// <para>
/// The implementation of this method should not modify the model.
/// This method cannot and should not prevent or alter the removal of the link from the diagram.
/// </para>
/// </remarks>
protected virtual void OnLinkRemoving(Link link) {
if (link == null) return;
link.InvalidateLayout(LayoutChange.LinkRemoved);
}
示例2: OnLinkAdded
/// <summary>
/// Called after the <paramref name="link"/> is added to the diagram.
/// </summary>
/// <param name="link">a <see cref="Link"/></param>
/// <remarks>
/// <para>
/// Adding a link will request a new automatic layout.
/// If either of the link's nodes are not <c>Visible</c>, the link will also be made not <c>Visible</c>.
/// </para>
/// <para>
/// The implementation of this method should not modify the model.
/// This method cannot and should not prevent or alter the addition of the link to the diagram.
/// </para>
/// </remarks>
protected virtual void OnLinkAdded(Link link) {
if (link == null) return;
Diagram diagram = this.Diagram;
if (diagram == null) return;
bool vis = true;
Group sg = link.ContainingSubGraph;
if (sg != null && (!sg.Visible || !sg.IsExpandedSubGraph)) vis = false;
if (vis) {
Node from = link.FromNode;
if (from != null && from.FindVisibleNode(null) == null) vis = false;
}
if (vis) {
Node to = link.ToNode;
if (to != null && to.FindVisibleNode(null) == null) vis = false;
}
if (link.Visible != vis) link.Visible = vis;
link.InvalidateLayout(LayoutChange.LinkAdded);
}