J'ai beaucoup de mal à obtenir un AvalonEdit TextEditor
pour faire défiler une ligne spécifique. Le comportement ScrollTo()
consiste simplement à faire défiler jusqu'à ce que cette ligne soit au milieu de la vue. J'ai essayé de nombreuses méthodes différentes trouvées autour de l'Internet et SO comme obtenir le décalage avecAvalonEdit faites défiler jusqu'à la ligne
double visualTop = textEditor.TextArea.TextView.GetVisualTopByDocumentLine(line);
Mais chacun a eu ses propres problèmes. Par exemple, dans la ligne ci-dessus, je recevais des exceptions avec le TextView.VisualLines
.
Cela fonctionne pour moi, mais je dois soustraire 1 du numéro de ligne. En outre, je pense que c'est une meilleure expérience utilisateur pour définir le décalage du curseur sur la ligne que vous avez défilée. –
Cela dépend certainement de votre application, mais j'aime l'idée du signe. Dans mon cas cependant, j'avais deux éditeurs que je voulais quelque peu synchronisés (sorte de créer des en-têtes flottants avec des données dans un fichier texte) de sorte que la fenêtre que je défilais était en lecture seule et aucun caret nécessaire. – zaknotzach