Exemple #1
0
        public static Windows.UI.Xaml.Controls.RichTextBlock Control(this Trainer.Domain.Component item, bool isThumbnail = false)
        {
            var control = new Windows.UI.Xaml.Controls.RichTextBlock
            {
                IsTextSelectionEnabled = true,
                MinHeight = 40,
                MinWidth  = 400
            };

            if (isThumbnail)
            {
                control.FontSize = ThumbnailFontSize;
            }

            foreach (var line in item.Code.Value.Split(Environment.NewLine.ToArray()))
            {
                var par = new Xaml.Paragraph
                {
                    FontStyle  = Windows.UI.Text.FontStyle.Italic,
                    TextIndent = 4
                };
                if (isThumbnail)
                {
                    par.FontSize = ThumbnailFontSize;
                }

                foreach (var inline in GetInlines(line, isThumbnail))
                {
                    par.Inlines.Add(inline);
                }
                control.Blocks.Add(par);
            }

            return(control);
        }
Exemple #2
0
        public static Windows.UI.Xaml.Controls.RichTextBlock Control(this Trainer.Domain.RichTextBlock item, bool isThumbnail = false)
        {
            var control = new Windows.UI.Xaml.Controls.RichTextBlock
            {
                IsTextSelectionEnabled = true,
                MinHeight = 40,
                MinWidth  = 400
            };

            if (isThumbnail)
            {
                control.FontSize = ThumbnailFontSize;
            }

            if (item.CharacterSpacing > 0)
            {
                control.CharacterSpacing = item.CharacterSpacing;
            }
            if (item.FontSize > 0 && !isThumbnail)
            {
                control.FontSize = item.FontSize;
            }
            if (!string.IsNullOrEmpty(item.FontStretch))
            {
                control.FontStretch = Helpers.ParseEnum <Windows.UI.Text.FontStretch>(item.FontStretch);
            }
            if (!string.IsNullOrEmpty(item.FontStyle))
            {
                control.FontStyle = Helpers.ParseEnum <Windows.UI.Text.FontStyle>(item.FontStyle);
            }
            if (!string.IsNullOrEmpty(item.FontWeight))
            {
                control.FontWeight = Helpers.ParseEnum <Windows.UI.Text.FontWeight>(item.FontWeight);
            }
            //if (!string.IsNullOrEmpty(item.Foreground)) control.Foreground = new SolidColorBrush(item.Foreground.GetColor());

            if (item.LineHeight > 0)
            {
                control.LineHeight = item.LineHeight;
            }
            if (!string.IsNullOrEmpty(item.LineStackingStrategy))
            {
                control.LineStackingStrategy = Helpers.ParseEnum <Windows.UI.Xaml.LineStackingStrategy>(item.LineStackingStrategy);
            }
            //if (!string.IsNullOrEmpty(item.Margin)) control.Margin = Helpers.GetThickness(item.Margin);
            if (!string.IsNullOrEmpty(item.TextAlignment))
            {
                control.TextAlignment = Helpers.ParseEnum <Windows.UI.Xaml.TextAlignment>(item.TextAlignment);
            }
            if (item.TextIndent > 0)
            {
                control.TextIndent = item.TextIndent;
            }

            if (!string.IsNullOrEmpty(item.HorizontalAlignment))
            {
                control.HorizontalAlignment = Helpers.ParseEnum <Windows.UI.Xaml.HorizontalAlignment>(item.HorizontalAlignment);
            }
            if (!string.IsNullOrEmpty(item.VerticalAlignment))
            {
                control.VerticalAlignment = Helpers.ParseEnum <Windows.UI.Xaml.VerticalAlignment>(item.VerticalAlignment);
            }
            if (item.MaxLines > 0)
            {
                control.MaxLines = item.MaxLines;
            }
            if (item.Opacity > 0.0M)
            {
                control.Opacity = (double)item.Opacity;
            }
            if (!string.IsNullOrEmpty(item.LineStackingStrategy))
            {
                control.TextWrapping = Helpers.ParseEnum <Windows.UI.Xaml.TextWrapping>(item.TextWrapping);
            }

            foreach (var p in item.Paragraph)
            {
                control.Blocks.Add(p.Control(isThumbnail));
            }

            return(control);
        }