TextPointer.GetPositionAtOffset Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een TextPointer naar de positie die wordt aangegeven door de opgegeven offset, in symbolen, vanaf het begin van de inhoud.
Overloads
| Name | Description |
|---|---|
| GetPositionAtOffset(Int32, LogicalDirection) |
Retourneert een TextPointer naar de positie die wordt aangegeven door de opgegeven offset, in symbolen, vanaf het begin van de huidige TextPointer en in de opgegeven richting. |
| GetPositionAtOffset(Int32) |
Retourneert een TextPointer naar de positie die wordt aangegeven door de opgegeven offset, in symbolen, vanaf het begin van de huidige TextPointer. |
GetPositionAtOffset(Int32, LogicalDirection)
Retourneert een TextPointer naar de positie die wordt aangegeven door de opgegeven offset, in symbolen, vanaf het begin van de huidige TextPointer en in de opgegeven richting.
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
Parameters
- offset
- Int32
Een offset, in symbolen, waarvoor de positie moet worden berekend en geretourneerd. Als de offset negatief is, wordt de geretourneerde TextPointer waarde voorafgegaan aan de huidige TextPointer; anders volgt dit.
- direction
- LogicalDirection
Een van de LogicalDirection waarden die de logische richting van de geretourneerde TextPointerwaarde aangeeft.
Retouren
Een TextPointer naar de positie die wordt aangegeven door de opgegeven offset, of null als de offset voorbij het einde van de inhoud loopt.
Opmerkingen
Een van de volgende wordt beschouwd als een symbool:
Een openings- of sluitingstag voor het TextElement element.
Een UIElement element in een InlineUIContainer of BlockUIContainer. Houd er rekening mee dat een UIElement dergelijk symbool altijd wordt geteld als precies één symbool; eventuele extra inhoud of elementen die door de UIElement elementen zijn opgenomen, worden niet meegeteld als symbolen.
Een 16-bits Unicode-teken in een tekstelement Run .
Zie ook
Van toepassing op
GetPositionAtOffset(Int32)
Retourneert een TextPointer naar de positie die wordt aangegeven door de opgegeven offset, in symbolen, vanaf het begin van de huidige 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
Parameters
- offset
- Int32
Een offset, in symbolen, waarvoor de positie moet worden berekend en geretourneerd. Als de offset negatief is, wordt de positie berekend in de logische richting tegenover die wordt aangegeven door de LogicalDirection eigenschap.
Retouren
Een TextPointer naar de positie aangegeven door de opgegeven offset, of null als er geen overeenkomstige positie kan worden gevonden.
Voorbeelden
In het volgende voorbeeld ziet u een gebruik voor deze methode. In het voorbeeld wordt de GetPositionAtOffset methode gebruikt om een paar methoden te implementeren, één om de offset te berekenen naar een opgegeven positie ten opzichte van een hostingalinea en de andere om een TextPointer opgegeven offset in een opgegeven alinea te retourneren.
// 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
Opmerkingen
Een van de volgende wordt beschouwd als een symbool:
Een openings- of sluitingstag voor het TextElement element.
Een UIElement element in een InlineUIContainer of BlockUIContainer. Houd er rekening mee dat een UIElement dergelijk symbool altijd wordt geteld als precies één symbool; eventuele extra inhoud of elementen die door de UIElement elementen zijn opgenomen, worden niet meegeteld als symbolen.
Een 16-bits Unicode-teken in een tekstelement Run .