本文整理汇总了C#中OpenLiveWriter.Mshtml.MarkupRange.GetTopLevelElements方法的典型用法代码示例。如果您正苦于以下问题:C# MarkupRange.GetTopLevelElements方法的具体用法?C# MarkupRange.GetTopLevelElements怎么用?C# MarkupRange.GetTopLevelElements使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenLiveWriter.Mshtml.MarkupRange
的用法示例。
在下文中一共展示了MarkupRange.GetTopLevelElements方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RemoveAlignmentIfSingleTable
/// <summary>
/// If this element is a table, and there's nothing else before or after it and it's aligned left or right
/// then removes the alignment.
/// </summary>
/// <param name="range">The original source range.</param>
private void RemoveAlignmentIfSingleTable(MarkupRange range)
{
// WinLive 273280: Alignment on a table acts like a float, which can throw off the layout of the rest of
// the document. If there is nothing before or after the table, then we can safely remove the alignment.
IHTMLElement[] topLevelElements = range.GetTopLevelElements(e => !(e is IHTMLCommentElement));
if (topLevelElements.Length == 1 &&
topLevelElements[0] is IHTMLTable &&
(String.Compare(topLevelElements[0].getAttribute("align", 2) as string, "left", StringComparison.OrdinalIgnoreCase) == 0 ||
String.Compare(topLevelElements[0].getAttribute("align", 2) as string, "right", StringComparison.OrdinalIgnoreCase) == 0))
{
topLevelElements[0].removeAttribute("align", 0);
}
}
示例2: GetContainingSmartContentElement
public static IHTMLElement GetContainingSmartContentElement(MarkupRange range)
{
IHTMLElement containingSmartContent = range.ParentElement(IsSmartContentContainer);
if (containingSmartContent != null)
{
return containingSmartContent;
}
else
{
IHTMLElement[] elements = range.GetTopLevelElements(MarkupRange.FilterNone);
if (elements.Length == 1 && IsSmartContent(elements[0]))
{
return elements[0];
}
}
return null;
}