Exemple #1
0
        private ScrollViewer InitializeScrollViewer()
        {
            var scrollViewer = new ScrollViewer();
            var grid         = new Grid()
            {
                Margin = new Thickness(12, 0, 12, 12)
            };

            grid.HorizontalAlignment = ContentAlignment;
            if (ContentAlignment != HorizontalAlignment.Stretch)
            {
                grid.MaxWidth = 1000;
            }
            grid.RowDefinitions.Add(new RowDefinition()
            {
                Height = GridLength.Auto
            });
            grid.RowDefinitions.Add(new RowDefinition()
            {
                Height = new GridLength(0, GridUnitType.Star)
            });
            var stackPannel  = new StackPanel();
            int baseFontSize = 20;

            if (!string.IsNullOrEmpty(Title))
            {
                innerTitleTextBlock = new TextBlock()
                {
                    Text = Title, TextWrapping = TextWrapping.Wrap, Margin = new Thickness(0, 0, 0, 12), FontSize = baseFontSize + 6, FontWeight = FontWeights.Bold, Foreground = this.Foreground
                };
                stackPannel.Children.Add(innerTitleTextBlock);
            }
            if (!string.IsNullOrEmpty(SubTitle))
            {
                innerSubTitleTextBlock = new TextBlock()
                {
                    Text = SubTitle, TextWrapping = TextWrapping.Wrap, Margin = new Thickness(0, 0, 0, 12), FontSize = baseFontSize + 2, Foreground = this.Foreground
                };
                stackPannel.Children.Add(innerSubTitleTextBlock);
            }
            if (!string.IsNullOrEmpty(ImageUrl))
            {
                string url = string.Empty;
                if (ImageUrl.ToLower().StartsWith("http"))
                {
                    url = ImageUrl;
                }
                else
                {
                    url = @"ms-appx://" + ImageUrl;
                }
                var viewBox = new Viewbox()
                {
                    StretchDirection = StretchDirection.DownOnly, HorizontalAlignment = ContentAlignment
                };
                var imageImage = new Image()
                {
                    Source = new BitmapImage()
                    {
                        UriSource = new Uri(url)
                    }
                };
                viewBox.Child = imageImage;
                stackPannel.Children.Add(viewBox);
            }
            innerRichTextBlock = new RichTextBlock()
            {
                TextWrapping = TextWrapping.Wrap, FontSize = baseFontSize, Foreground = this.Foreground
            };
            var p = new Paragraph();

            p.Inlines.Add(new Run()
            {
                Text = DetailContent
            });
            innerRichTextBlock.Blocks.Add(p);

            Grid.SetRow(stackPannel, 0);
            Grid.SetRow(innerRichTextBlock, 1);
            grid.Children.Add(stackPannel);
            grid.Children.Add(innerRichTextBlock);
            scrollViewer.Content = grid;
            return(scrollViewer);
        }