private IEnumerable<UIElement> BuildChildUIList(IEnumerable<IDomObject> objects)
{
List<UIElement> results = new List<UIElement>();
foreach (var item in objects)
{
SnuDomCategoryVisitor categoryVisitor = new SnuDomCategoryVisitor();
item.Accept(categoryVisitor);
var column = item as TableColumn;
if (categoryVisitor.Category == MarkdownCategory.PlainText)
{
var plainTextVisitor = new SnuDomPlainTextVisitor();
//this might be a pp
if (column != null)
{
foreach (var contents in column.Contents)
{
contents.Accept(plainTextVisitor);
}
}
else if (item is SnuDom.Paragraph)
{
item.Accept(plainTextVisitor);
}
results.Add(new TextBlock { Text = plainTextVisitor.Result });
}
else
{
var fullUIVisitor = new SnuDomFullUIVisitor(_forgroundBrush);
item.Accept(fullUIVisitor);
results.Add(fullUIVisitor.Result);
}
if (column != null)
{
switch (column.Alignment)
{
case ColumnAlignment.Center:
results.Last().SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Center);
break;
case ColumnAlignment.Left:
results.Last().SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Left);
break;
case ColumnAlignment.Right:
results.Last().SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Right);
break;
}
}
}
return results;
}