TextPointer.GetPositionAtOffset メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コンテンツの先頭からの指定されたオフセット (シンボル単位) が示す位置への TextPointer を返します。
オーバーロード
GetPositionAtOffset(Int32, LogicalDirection) |
指定された方向に、現在の TextPointer の先頭からの指定されたオフセット (シンボル単位) が示す位置への TextPointer を返します。 |
GetPositionAtOffset(Int32) |
現在の TextPointer の先頭からの指定されたオフセット (シンボル単位) が示す位置への TextPointer を返します。 |
GetPositionAtOffset(Int32, LogicalDirection)
指定された方向に、現在の TextPointer の先頭からの指定されたオフセット (シンボル単位) が示す位置への TextPointer を返します。
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
位置を計算して返す際の対象となるオフセット (シンボル単位)。 このオフセットが負の場合は、返される TextPointer は現在の TextPointer より前になります。それ以外の場合は後になります。
- direction
- LogicalDirection
返される LogicalDirection の論理方向を指定する TextPointer 値のいずれか。
戻り値
指定されたオフセットが示す位置への TextPointer。オフセットがコンテンツの末尾を超える場合は null
。
注釈
次のいずれかがシンボルと見なされます。
要素の開始タグまたは終了タグ TextElement 。
UIElementまたは BlockUIContainerにInlineUIContainer含まれる要素。 このような は UIElement 常に 1 つのシンボルとしてカウントされます。に含まれる UIElement 追加のコンテンツまたは要素はシンボルとしてカウントされません。
テキスト Run 要素内の 16 ビット Unicode 文字。
こちらもご覧ください
適用対象
GetPositionAtOffset(Int32)
現在の TextPointer の先頭からの指定されたオフセット (シンボル単位) が示す位置への 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
位置を計算して返す際の対象となるオフセット (シンボル単位)。 このオフセットが負の場合は、LogicalDirection プロパティが示すのとは逆の論理方向で位置が計算されます。
戻り値
指定されたオフセットが示す位置への TextPointer。対応する位置が見つからない場合は null
。
例
次の例では、このメソッドの使用方法を示します。 この例では、 メソッドを GetPositionAtOffset 使用してメソッドのペアを実装し、1 つはホスティング 段落を基準にして指定した位置へのオフセットを計算し、もう 1 つは指定した段落の指定されたオフセットに を返 TextPointer します。
// 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
注釈
次のいずれかがシンボルと見なされます。
要素の開始タグまたは終了タグ TextElement 。
UIElementまたは BlockUIContainerにInlineUIContainer含まれる要素。 このような は UIElement 常に 1 つのシンボルとしてカウントされます。に含まれる UIElement 追加のコンテンツまたは要素はシンボルとしてカウントされません。
テキスト Run 要素内の 16 ビット Unicode 文字。
こちらもご覧ください
適用対象
.NET