private StackPanel GenerateOL(IHtmlOrderedListElement node) { var verticalStackPanel = new StackPanel(); int number = node.Start; foreach (var child in node.ChildNodes) { if (String.IsNullOrWhiteSpace(child.TextContent)) { continue; } var horizontalStackPanel = new StackPanel() { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 3, 0, 3) }; horizontalStackPanel.Children.Add(new TextBlock() { Text = $"{number}.", Margin = new Thickness(9.5, 0, 9.5, 0) }); number++; var richTextBlock = new RichTextBlock(); var paragraph = new Paragraph(); AddInlineChildren(child, paragraph.Inlines); richTextBlock.Blocks.Add(paragraph); horizontalStackPanel.Children.Add(richTextBlock); verticalStackPanel.Children.Add(horizontalStackPanel); } return(verticalStackPanel); }
private Block GenerateOL(IHtmlOrderedListElement node) { var olParagraph = new Paragraph(); int number = node.Start; foreach (var child in node.ChildNodes) { if (String.IsNullOrWhiteSpace(child.TextContent)) { continue; } var liInlineContainer = new InlineUIContainer(); var dot = new TextBlock() { Text = $"{number}.", Margin = new Thickness(9.5, 0, 9.5, 0) }; liInlineContainer.Child = dot; olParagraph.Inlines.Add(liInlineContainer); //添加"•" ++number; AddInlineChildren(child, olParagraph.Inlines); olParagraph.Inlines.Add(new LineBreak()); } return(olParagraph); }
List Render(IHtmlOrderedListElement element) { var list = new List { MarkerStyle = TextMarkerStyle.Decimal }; RenderList(element.Children, list); return(list); }
private void AssertSearchResult(IHtmlOrderedListElement searchResults, int itemNumber) { var searchDistance = searchResults.Children[itemNumber].QuerySelector("#searchResult_Distance") as IHtmlInputElement; searchDistance.Type.Should().Be("hidden"); searchDistance.Value.Should().Be("0"); var providerVenueId = searchResults.Children[itemNumber].QuerySelector("#searchResult_ProviderVenueId") as IHtmlInputElement; providerVenueId.Type.Should().Be("hidden"); providerVenueId.Value.Should().Be("1"); var providerIsSelected = searchResults.Children[itemNumber].QuerySelector($"#SearchResults_Results_{itemNumber}__IsSelected") as IHtmlInputElement; providerIsSelected.Type.Should().Be("checkbox"); providerIsSelected.Value.Should().Be("true"); var tLevelProvider = searchResults.Children[itemNumber].QuerySelector("#tl-provider"); tLevelProvider.TextContent.Should().Be("T level provider"); tLevelProvider.ClassName.Should().Be("tl-search-results-flag"); var venueDetailList = searchResults.Children[itemNumber].QuerySelector("#tl-venue-detail-list"); var providerNameListItem = venueDetailList.Children[0] as IHtmlListItemElement; providerNameListItem.TextContent.Should().Be("Part of SQL Search Provider Display Name"); var townAndPostcodeListItem = venueDetailList.Children[1] as IHtmlListItemElement; townAndPostcodeListItem.TextContent.Should().Be("Coventry CV1 2WT"); var qualificationList = searchResults.Children[itemNumber].QuerySelector("#tl-qualification-list"); var shortTitleListItem = qualificationList.Children[0] as IHtmlListItemElement; shortTitleListItem.TextContent.Should().Be("Short Title"); var journeyInfo = searchResults.Children[itemNumber].QuerySelector("#tl-journey-info"); journeyInfo.Children.Length.Should().Be(1); var distanceItem = journeyInfo.Children[0] as IHtmlParagraphElement; distanceItem.TextContent.Should().Be("0.0 miles"); }