Example #1
0
 /// <summary>
 /// Performs an entire recalculation of the element flow on the canvas,
 /// taking into account all its current child elements.
 /// </summary>
 /// <remarks>
 /// Performs an entire recalculation of the element flow on the canvas,
 /// taking into account all its current child elements. May become very
 /// resource-intensive for large documents.
 /// Do not use when you have set
 /// <see cref="RootElement{T}.immediateFlush"/>
 /// to <code>true</code>.
 /// </remarks>
 public virtual void Relayout()
 {
     if (immediateFlush)
     {
         throw new InvalidOperationException("Operation not supported with immediate flush");
     }
     rootRenderer = new CanvasRenderer(this, immediateFlush);
     foreach (IElement element in childElements)
     {
         rootRenderer.AddChild(element.CreateRendererSubTree());
     }
 }