Пример #1
0
 internal override void RenderChildren(RenderContext context, Action <TagBuilder> onRenderStatic = null)
 {
     foreach (var ch in Children)
     {
         ch.IsInGrid = true;
         if (ch is GridGroup gg)
         {
             var grpTemplate = new TagBuilder("template");
             gg.MergeAttributes(grpTemplate, context, MergeAttrMode.Visibility);
             grpTemplate.RenderStart(context);
             foreach (var gc in gg.Children)
             {
                 gc.IsInGrid = true;
                 using (context.GridContext(GetRow(gc), GetCol(gc), GetRowSpan(gc), GetColSpan(gc), GetVAlign(gc)))
                 {
                     gc.RenderElement(context);
                 }
             }
             grpTemplate.RenderEnd(context);
         }
         else
         {
             using (context.GridContext(GetRow(ch), GetCol(ch), GetRowSpan(ch), GetColSpan(ch), GetVAlign(ch)))
             {
                 ch.RenderElement(context);
             }
         }
     }
 }
Пример #2
0
        public void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            var parentGrid = FindParent <Grid>();

            if (parentGrid != null)
            {
                foreach (var c in Children)
                {
                    c.IsInGrid = true;
                    using (context.GridContext(c))
                    {
                        c.RenderElement(context);
                    }
                }
            }
            else
            {
                foreach (var c in Children)
                {
                    c.RenderElement(context);
                }
            }
        }