TextPointer.GetPositionAtOffset Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un oggetto TextPointer nella posizione indicata dall'offset specificato, in simboli, dall'inizio del contenuto.
Overload
GetPositionAtOffset(Int32, LogicalDirection) |
Restituisce un oggetto TextPointer nella posizione indicata dall'offset specificato, in simboli, dall'inizio dell'oggetto TextPointer corrente e nella direzione specificata. |
GetPositionAtOffset(Int32) |
Restituisce un oggetto TextPointer nella posizione indicata dall'offset specificato, in simboli, dall'inizio dell'oggetto TextPointer corrente. |
GetPositionAtOffset(Int32, LogicalDirection)
Restituisce un oggetto TextPointer nella posizione indicata dall'offset specificato, in simboli, dall'inizio dell'oggetto TextPointer corrente e nella direzione specificata.
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
Parametri
- offset
- Int32
Offset, in simboli, per il quale calcolare e restituire la posizione. Se l'offset è negativo, l'oggetto TextPointer restituito precede l'oggetto TextPointer corrente; in caso contrario, lo segue.
- direction
- LogicalDirection
Uno dei valori LogicalDirection che specificano la direzione logica dell'oggetto TextPointer restituito.
Restituisce
Oggetto TextPointer nella posizione indicata dall'offset specificato o null
se l'offset si estende oltre la fine del contenuto.
Commenti
Uno dei seguenti è considerato un simbolo:
Tag di apertura o chiusura per l'elemento TextElement .
Elemento UIElement contenuto in un InlineUIContainer oggetto o BlockUIContainer. Si noti che tale UIElement oggetto viene sempre conteggiato come esattamente un simbolo. Qualsiasi contenuto o elemento aggiuntivo contenuto contenuto da UIElement non viene conteggiato come simboli.
Carattere Unicode a 16 bit all'interno di un elemento di testo Run .
Vedi anche
Si applica a
GetPositionAtOffset(Int32)
Restituisce un oggetto TextPointer nella posizione indicata dall'offset specificato, in simboli, dall'inizio dell'oggetto TextPointer corrente.
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
Parametri
- offset
- Int32
Offset, in simboli, per il quale calcolare e restituire la posizione. Se l'offset è negativo, la posizione viene calcolata nella direzione logica opposta a quella indicata dalla proprietà LogicalDirection.
Restituisce
Oggetto TextPointer nella posizione indicata dall'offset specificato o null
se non viene trovata una posizione corrispondente.
Esempio
Nell'esempio seguente viene illustrato un utilizzo per questo metodo. Nell'esempio viene utilizzato il GetPositionAtOffset metodo per implementare una coppia di metodi, uno per calcolare l'offset in una posizione specificata rispetto a qualsiasi paragrafo host e l'altro per restituire un TextPointer oggetto a un offset specificato in un paragrafo specificato.
// 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
Commenti
Uno dei seguenti è considerato un simbolo:
Tag di apertura o chiusura per l'elemento TextElement .
Elemento UIElement contenuto in un InlineUIContainer oggetto o BlockUIContainer. Si noti che tale UIElement oggetto viene sempre conteggiato come esattamente un simbolo. Qualsiasi contenuto o elemento aggiuntivo contenuto contenuto da UIElement non viene conteggiato come simboli.
Carattere Unicode a 16 bit all'interno di un elemento di testo Run .