TextPointer.GetPositionAtOffset Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar en TextPointer till den position som anges av den angivna förskjutningen, i symboler, från början av innehållet.
Överlagringar
| Name | Description |
|---|---|
| GetPositionAtOffset(Int32, LogicalDirection) |
Returnerar en TextPointer till den position som anges av den angivna förskjutningen, i symboler, från början av strömmen TextPointer och i den angivna riktningen. |
| GetPositionAtOffset(Int32) |
Returnerar en TextPointer till den position som anges av den angivna förskjutningen, i symboler, från början av den aktuella TextPointer. |
GetPositionAtOffset(Int32, LogicalDirection)
Returnerar en TextPointer till den position som anges av den angivna förskjutningen, i symboler, från början av strömmen TextPointer och i den angivna riktningen.
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
Parametrar
- offset
- Int32
En förskjutning i symboler som du kan beräkna och returnera positionen för. Om förskjutningen är negativ föregår den returnerade TextPointer den aktuella TextPointer. Annars följer den.
- direction
- LogicalDirection
Ett av de LogicalDirection värden som anger den logiska riktningen för den returnerade TextPointer.
Returer
A TextPointer till den position som anges av den angivna förskjutningen, eller null om förskjutningen sträcker sig förbi slutet av innehållet.
Kommentarer
Något av följande anses vara en symbol:
En inledande eller avslutande tagg för elementet TextElement .
Ett UIElement element som finns i en InlineUIContainer eller BlockUIContainer. Observera att en UIElement sådan alltid räknas som exakt en symbol. Eventuella ytterligare innehåll eller element som ingår i UIElement räknas inte som symboler.
Ett 16-bitars Unicode-tecken inuti ett textelement Run .
Se även
Gäller för
GetPositionAtOffset(Int32)
Returnerar en TextPointer till den position som anges av den angivna förskjutningen, i symboler, från början av den aktuella 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
Parametrar
- offset
- Int32
En förskjutning i symboler som du kan beräkna och returnera positionen för. Om förskjutningen är negativ beräknas positionen i den logiska riktningen mot den som anges av LogicalDirection egenskapen.
Returer
A TextPointer till den position som anges av den angivna förskjutningen, eller null om det inte går att hitta någon motsvarande position.
Exempel
I följande exempel visas en användning för den här metoden. I exemplet används GetPositionAtOffset metoden för att implementera ett par metoder, en för att beräkna förskjutningen till en angiven position i förhållande till ett värdpar och den andra för att returnera en TextPointer till en angiven förskjutning i ett angivet stycke.
// 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
Kommentarer
Något av följande anses vara en symbol:
En inledande eller avslutande tagg för elementet TextElement .
Ett UIElement element som finns i en InlineUIContainer eller BlockUIContainer. Observera att en UIElement sådan alltid räknas som exakt en symbol. Eventuella ytterligare innehåll eller element som ingår i UIElement räknas inte som symboler.
Ett 16-bitars Unicode-tecken inuti ett textelement Run .