TextPointer.GetPositionAtOffset メソッド

定義

コンテンツの先頭からの指定されたオフセット (シンボル単位) が示す位置への TextPointer を返します。Returns a TextPointer to the position indicated by the specified offset, in symbols, from the beginning of content.

オーバーロード

GetPositionAtOffset(Int32, LogicalDirection)

指定された方向に、現在の TextPointer の先頭からの指定されたオフセット (シンボル単位) が示す位置への TextPointer を返します。Returns a TextPointer to the position indicated by the specified offset, in symbols, from the beginning of the current TextPointer and in the specified direction.

GetPositionAtOffset(Int32)

現在の TextPointer の先頭からの指定されたオフセット (シンボル単位) が示す位置への TextPointer を返します。Returns a TextPointer to the position indicated by the specified offset, in symbols, from the beginning of the current TextPointer.

GetPositionAtOffset(Int32, LogicalDirection)

指定された方向に、現在の TextPointer の先頭からの指定されたオフセット (シンボル単位) が示す位置への TextPointer を返します。Returns a TextPointer to the position indicated by the specified offset, in symbols, from the beginning of the current TextPointer and in the specified direction.

public:
 System::Windows::Documents::TextPointer ^ GetPositionAtOffset(int offset, System::Windows::Documents::LogicalDirection direction);
public System.Windows.Documents.TextPointer GetPositionAtOffset (int offset, System.Windows.Documents.LogicalDirection direction);
member this.GetPositionAtOffset : int * System.Windows.Documents.LogicalDirection -> System.Windows.Documents.TextPointer
Public Function GetPositionAtOffset (offset As Integer, direction As LogicalDirection) As TextPointer

パラメーター

offset
Int32

位置を計算して返す際の対象となるオフセット (シンボル単位)。An offset, in symbols, for which to calculate and return the position. このオフセットが負の場合は、返される TextPointer は現在の TextPointer より前になります。それ以外の場合は後になります。If the offset is negative, the returned TextPointer precedes the current TextPointer; otherwise, it follows.

direction
LogicalDirection

返される LogicalDirection の論理方向を指定する TextPointer 値のいずれか。One of the LogicalDirection values that specifies the logical direction of the returned TextPointer.

戻り値

指定されたオフセットが示す位置への TextPointer。オフセットがコンテンツの末尾を超える場合は nullA TextPointer to the position indicated by the specified offset, or null if the offset extends past the end of the content.

注釈

次のいずれかがシンボルであると見なされます。Any of the following is considered to be a symbol:

  • TextElement要素の開始タグまたは終了タグ。An opening or closing tag for the TextElement element.

  • またはInlineUIContainer UIElement に格納されBlockUIContainerている要素。A UIElement element contained in an InlineUIContainer or BlockUIContainer. このようUIElementなは常に1つの記号としてカウントされることに注意しUIElementてください。に含まれる追加のコンテンツまたは要素は、シンボルとしてカウントされません。Note that such a UIElement is always counted as exactly one symbol; any additional content or elements contained by the UIElement are not counted as symbols.

  • UnicodeUnicode テキストRun要素内の16ビット文字。A 16-bit UnicodeUnicode character inside of a text Run element.

こちらもご覧ください

GetPositionAtOffset(Int32)

現在の TextPointer の先頭からの指定されたオフセット (シンボル単位) が示す位置への TextPointer を返します。Returns a TextPointer to the position indicated by the specified offset, in symbols, from the beginning of the current TextPointer.

public:
 System::Windows::Documents::TextPointer ^ GetPositionAtOffset(int offset);
public System.Windows.Documents.TextPointer GetPositionAtOffset (int offset);
member this.GetPositionAtOffset : int -> System.Windows.Documents.TextPointer
Public Function GetPositionAtOffset (offset As Integer) As TextPointer

パラメーター

offset
Int32

位置を計算して返す際の対象となるオフセット (シンボル単位)。An offset, in symbols, for which to calculate and return the position. このオフセットが負の場合は、LogicalDirection プロパティが示すのとは逆の論理方向で位置が計算されます。If the offset is negative, the position is calculated in the logical direction opposite of that indicated by the LogicalDirection property.

戻り値

指定されたオフセットが示す位置への TextPointer。対応する位置が見つからない場合は nullA TextPointer to the position indicated by the specified offset, or null if no corresponding position can be found.

このメソッドの使用例を次に示します。The following example demonstrates a use for this method. この例ではGetPositionAtOffset 、メソッドを使用して、2つのメソッドを実装します。1つは、ホストしている段落から相対的に指定TextPointerされた位置へのオフセットを計算するメソッドで、もう1つは指定された段落内の指定されたオフセットにを返します。The example uses the GetPositionAtOffset method to implement a pair of methods, one to calculate the offset to a specified position relative to any hosting paragraph, and the other to return a TextPointer to a specified offset in a specified paragraph.

// Returns the offset for the specified position relative to any containing paragraph.
int GetOffsetRelativeToParagraph(TextPointer position)
{
    // Adjust the pointer to the closest forward insertion position, and look for any
    // containing paragraph.
    Paragraph paragraph = (position.GetInsertionPosition(LogicalDirection.Forward)).Paragraph;

    // Some positions may be not within any Paragraph; 
    // this method returns an offset of -1 to indicate this condition.
    return (paragraph == null) ? -1 : paragraph.ContentStart.GetOffsetToPosition(position);
}

// Returns a TextPointer to a specified offset into a specified paragraph. 
TextPointer GetTextPointerRelativeToParagraph(Paragraph paragraph, int offsetRelativeToParagraph)
{
    // Verify that the specified offset falls within the specified paragraph.  If the offset is
    // past the end of the paragraph, return a pointer to the farthest offset position in the paragraph.
    // Otherwise, return a TextPointer to the specified offset in the specified paragraph.
    return (offsetRelativeToParagraph > paragraph.ContentStart.GetOffsetToPosition(paragraph.ContentEnd)) 
        ? paragraph.ContentEnd : paragraph.ContentStart.GetPositionAtOffset(offsetRelativeToParagraph);
}
' Returns the offset for the specified position relative to any containing paragraph.
Private Function GetOffsetRelativeToParagraph(ByVal position As TextPointer) As Integer
    ' Adjust the pointer to the closest forward insertion position, and look for any
    ' containing paragraph.
    Dim paragraph As Paragraph = (position.GetInsertionPosition(LogicalDirection.Forward)).Paragraph

    ' Some positions may be not within any Paragraph 
    ' this method returns an offset of -1 to indicate this condition.
    Return If((paragraph Is Nothing), -1, paragraph.ContentStart.GetOffsetToPosition(position))
End Function

' Returns a TextPointer to a specified offset into a specified paragraph. 
Private Function GetTextPointerRelativeToParagraph(ByVal paragraph As Paragraph, ByVal offsetRelativeToParagraph As Integer) As TextPointer
    ' Verify that the specified offset falls within the specified paragraph.  If the offset is
    ' past the end of the paragraph, return a pointer to the farthest offset position in the paragraph.
    ' Otherwise, return a TextPointer to the specified offset in the specified paragraph.
    Return If((offsetRelativeToParagraph > paragraph.ContentStart.GetOffsetToPosition(paragraph.ContentEnd)), paragraph.ContentEnd, paragraph.ContentStart.GetPositionAtOffset(offsetRelativeToParagraph))
End Function

注釈

次のいずれかがシンボルであると見なされます。Any of the following is considered to be a symbol:

  • TextElement要素の開始タグまたは終了タグ。An opening or closing tag for the TextElement element.

  • またはInlineUIContainer UIElement に格納されBlockUIContainerている要素。A UIElement element contained in an InlineUIContainer or BlockUIContainer. このようUIElementなは常に1つの記号としてカウントされることに注意しUIElementてください。に含まれる追加のコンテンツまたは要素は、シンボルとしてカウントされません。Note that such a UIElement is always counted as exactly one symbol; any additional content or elements contained by the UIElement are not counted as symbols.

  • UnicodeUnicode テキストRun要素内の16ビット文字。A 16-bit UnicodeUnicode character inside of a text Run element.

こちらもご覧ください

適用対象