TextPointer.GetOffsetToPosition(TextPointer) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Renvoie le compte de symboles entre le TextPointer actuel et un second TextPointerspécifié.
public:
int GetOffsetToPosition(System::Windows::Documents::TextPointer ^ position);
public int GetOffsetToPosition (System.Windows.Documents.TextPointer position);
member this.GetOffsetToPosition : System.Windows.Documents.TextPointer -> int
Public Function GetOffsetToPosition (position As TextPointer) As Integer
Paramètres
- position
- TextPointer
Un TextPointer qui spécifie une position pour laquelle la distance (en symboles) doit être trouvée.
Retours
Le nombre relatif de symboles entre le TextPointer actuel et position
. Une valeur négative indique que le TextPointer actuel suit la position spécifiée par position
, 0 indique que les positions sont égales, et une valeur positive indique que le TextPointer actuel précède la position spécifiée par position
.
Exceptions
position
spécifie une position en dehors du conteneur de texte associé à la position actuelle.
Exemples
L’exemple suivant illustre une utilisation pour cette méthode. L’exemple utilise la GetOffsetToPosition méthode pour rechercher les décalages pour deux TextPointer instances, puis utilise ces informations pour enregistrer et restaurer la sélection dans un RichTextBox. L’exemple suppose que le contenu du fichier n’a pas changé entre un enregistrement de RichTextBox sélection et une restauration de sélection.
struct SelectionOffsets { internal int Start; internal int End; }
SelectionOffsets GetSelectionOffsetsRTB(RichTextBox richTextBox)
{
SelectionOffsets selectionOffsets;
TextPointer contentStart = richTextBox.Document.ContentStart;
// Find the offset for the starting and ending TextPointers.
selectionOffsets.Start = contentStart.GetOffsetToPosition(richTextBox.Selection.Start);
selectionOffsets.End = contentStart.GetOffsetToPosition(richTextBox.Selection.End);
return selectionOffsets;
}
void RestoreSelectionOffsetsRTB(RichTextBox richTextBox, SelectionOffsets selectionOffsets)
{
TextPointer contentStart = richTextBox.Document.ContentStart;
// Use previously determined offsets to create corresponding TextPointers,
// and use these to restore the selection.
richTextBox.Selection.Select(
contentStart.GetPositionAtOffset(selectionOffsets.Start),
contentStart.GetPositionAtOffset(selectionOffsets.End)
);
}
Private Structure SelectionOffsets
Friend Start As Integer
Friend [End] As Integer
End Structure
Private Function GetSelectionOffsetsRTB(ByVal richTextBox As RichTextBox) As SelectionOffsets
Dim selectionOffsets As SelectionOffsets
Dim contentStart As TextPointer = richTextBox.Document.ContentStart
' Find the offset for the starting and ending TextPointers.
selectionOffsets.Start = contentStart.GetOffsetToPosition(richTextBox.Selection.Start)
selectionOffsets.End = contentStart.GetOffsetToPosition(richTextBox.Selection.End)
Return selectionOffsets
End Function
Private Sub RestoreSelectionOffsetsRTB(ByVal richTextBox As RichTextBox, ByVal selectionOffsets As SelectionOffsets)
Dim contentStart As TextPointer = richTextBox.Document.ContentStart
' Use previously determined offsets to create corresponding TextPointers,
' and use these to restore the selection.
richTextBox.Selection.Select(contentStart.GetPositionAtOffset(selectionOffsets.Start), contentStart.GetPositionAtOffset(selectionOffsets.End))
End Sub
Remarques
L’un des éléments suivants est considéré comme un symbole :
Balise d’ouverture ou de fermeture pour un TextElement élément.
Élément UIElement contenu dans un InlineUIContainer ou BlockUIContainer. Notez qu’un UIElement tel symbole est toujours comptabilisé comme un symbole exactement ; tout contenu ou élément supplémentaire contenu par celui-ci UIElement n’est pas comptabilisé comme symboles.
Caractère Unicode 16 bits à l’intérieur d’un élément de texte Run .