本文整理匯總了C#中System.Windows.Documents.StaticTextPointer.GetNextContextPosition方法的典型用法代碼示例。如果您正苦於以下問題:C# StaticTextPointer.GetNextContextPosition方法的具體用法?C# StaticTextPointer.GetNextContextPosition怎麽用?C# StaticTextPointer.GetNextContextPosition使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Windows.Documents.StaticTextPointer
的用法示例。
在下文中一共展示了StaticTextPointer.GetNextContextPosition方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: GetNextPropertyChangePosition
/// <summary>
/// Returns the closest neighboring TextPointer in an indicated
/// direction where a property value calculated from an embedded
/// object, scoping text element, or scoping highlight could
/// change.
/// </summary>
/// <param name="textPosition">
/// Position to query.
/// </param>
/// <param name="direction">
/// Direction of content to query.
/// </param>
/// <returns>
/// If the following symbol is TextPointerContext.EmbeddedElement,
/// TextPointerContext.ElementBegin, or TextPointerContext.ElementEnd, returns
/// a TextPointer exactly one symbol distant.
///
/// If the following symbol is TextPointerContext.Text, the distance
/// of the returned TextPointer is the minimum of the value returned
/// by textPosition.GetTextLength and the distance to any highlight
/// start or end edge.
///
/// If the following symbol is TextPointerContext.None, returns null.
/// </returns>
internal virtual StaticTextPointer GetNextPropertyChangePosition(StaticTextPointer textPosition, LogicalDirection direction)
{
StaticTextPointer changePosition;
StaticTextPointer characterRunEndPosition;
switch (textPosition.GetPointerContext(direction))
{
case TextPointerContext.None:
changePosition = StaticTextPointer.Null;
break;
case TextPointerContext.Text:
changePosition = GetNextHighlightChangePosition(textPosition, direction);
characterRunEndPosition = textPosition.GetNextContextPosition(LogicalDirection.Forward);
if (changePosition.IsNull ||
characterRunEndPosition.CompareTo(changePosition) < 0)
{
changePosition = characterRunEndPosition;
}
break;
case TextPointerContext.EmbeddedElement:
case TextPointerContext.ElementStart:
case TextPointerContext.ElementEnd:
default:
changePosition = textPosition.CreatePointer(+1);
break;
}
return changePosition;
}