IWpfTextView.TextViewLines
è la raccolta di linee visibili. In alcuni casi, la prima e l'ultima riga potrebbero essere nascoste o parzialmente visibili (ma la seconda e la penultima riga devono essere sempre completamente visibili). Per ottenere la raccolta di linee completamente visibili è possibile utilizzare IWpfTextView.TextViewLines.FirstVisibleLine
e IWpfTextView.TextViewLines.LastVisibleLine
oppure filtrare la raccolta per ITextViewLine.VisibilityState == VisibilityState.FullyVisible
.
A Span
A è una struttura per racchiudere una posizione iniziale e una lunghezza ma non contiene il testo effettivo. Esistono molti tipi di span nell'editor VS per scopi diversi, ad esempio uno SnapshotSpan
è uno span di un ITextSnapshot
, che memorizza una posizione iniziale, una lunghezza e l'istantanea a cui appartiene.
Edit:
dispiace ho perso la domanda nel titolo.
A Point
si riferisce a una posizione e un Span
si riferisce a un intervallo. La maggior parte delle API di VS Editor che ne prendono uno come parametro hanno un sovraccarico per l'altra.
ITrackingPoint
e ITrackingSpan
sono fuori ITextBuffer
. "Tracciamento" significa che sfalsano/crescono/si restringono quando il buffer del testo cambia. Sono agnostici istantanei.
SnapshotPoint
e SnapshotSpan
sono fuori ITextSnapshot
. Sono legati allo ITextSnapshot
e sono immutabili.
ITextViewLine
è una riga formattata per la visualizzazione. Di solito non è necessario cambiarlo, solo ottenendo informazioni visive da esso come Height
o VisibilityState
.
fonte
2012-06-18 23:47:44
OK, per il mio aggiornamento. – Chris
Hai dimenticato di eseguire l'aggiornamento. 1. Le viste di testo non sono pensate in righe. Ciò è dovuto al delineamento, al ritorno a capo automatico, ecc. Che differisce da TextBuffer dal buffer visivo. 2. SnapshotSpan vs SnapshotPoint - Span rappresenta una stringa di caratteri. Punto, un personaggio. 3. TrackingPoint vs TrackingSpan. Simile ad altri Point and Span, tranne per determinare la posizione in ViewPort. Penso di essere corretto su questi. O almeno sembra muoversi in quel modo. – Chris