TextPointer.GetPositionAtOffset Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
TextPointer Vrátí hodnotu na pozici označenou zadaným posunem v symbolech od začátku obsahu.
Přetížení
GetPositionAtOffset(Int32, LogicalDirection) |
TextPointer Vrátí hodnotu na pozici označenou zadaným posunem v symbolech od začátku proudu TextPointer a v zadaném směru. |
GetPositionAtOffset(Int32) |
TextPointer Vrátí hodnotu do pozice označené zadaným posunem v symbolech od začátku aktuálního TextPointer. |
GetPositionAtOffset(Int32, LogicalDirection)
TextPointer Vrátí hodnotu na pozici označenou zadaným posunem v symbolech od začátku proudu TextPointer a v zadaném směru.
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
Parametry
- offset
- Int32
Posun v symbolech, pro který se má vypočítat a vrátit pozici. Pokud je posun záporný, vrácený TextPointer argument předchází aktuálnímu TextPointer; v opačném případě následuje.
- direction
- LogicalDirection
Jedna z LogicalDirection hodnot, která určuje logický směr vráceného TextPointersouboru .
Návraty
A TextPointer na pozici určenou zadaným posunem nebo null
pokud posun přesahuje konec obsahu.
Poznámky
Za symbol se považuje kterýkoli z následujících znaků:
Levá nebo uzavírací značka elementu TextElement .
Prvek UIElement obsažený v objektu InlineUIContainer nebo BlockUIContainer. Všimněte si, že takový UIElement symbol se vždy počítá jako přesně jeden symbol; jakýkoli další obsah nebo prvky obsažené v objektu UIElement se nezapočítávají jako symboly.
16bitový znak Unicode uvnitř textového Run prvku.
Viz také
Platí pro
GetPositionAtOffset(Int32)
TextPointer Vrátí hodnotu do pozice označené zadaným posunem v symbolech od začátku aktuálního 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
Parametry
- offset
- Int32
Posun v symbolech, pro který se má vypočítat a vrátit pozici. Pokud je posun záporný, pozice se vypočítá v logickém směru naproti tomu, který je označen LogicalDirection vlastností.
Návraty
A TextPointer na pozici označenou zadaným posunem, nebo null
pokud nelze najít odpovídající pozici.
Příklady
Následující příklad ukazuje použití pro tuto metodu. Příklad používá metodu GetPositionAtOffset k implementaci dvojice metod, jedna k výpočtu posunu na zadanou pozici vzhledem k libovolnému hostitelskému odstavci a druhá k vrácení TextPointer zadaného posunu v zadaném odstavci.
// 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
Poznámky
Za symbol se považuje kterýkoli z následujících znaků:
Levá nebo uzavírací značka elementu TextElement .
Prvek UIElement obsažený v objektu InlineUIContainer nebo BlockUIContainer. Všimněte si, že takový UIElement symbol se vždy počítá jako přesně jeden symbol; jakýkoli další obsah nebo prvky obsažené v objektu UIElement se nezapočítávají jako symboly.
16bitový znak Unicode uvnitř textového Run prvku.