Whats the best control to use in wpf applicaion for loading big text files into? And its not just simple as that, i need to be able to hightlight/change background/color of some lines. I was thinking of using RichTextBox.. but though i just come and ask what other people think.
I dont need to edit the text, just highlight lines with errors
EDIT: Ah i forgot to mention, text file content is processed by the program what will change the background color of some lines. Would be nice to give user a change to do that allso when the program failes to find some error lines.
EDIT2: The application is for parsing log files, so the files might be big, over 50 000 lines..
I didn’t understand if you only want to display files or allow user to edit them.
Either way, maybe ScintillaNET would be useful to you.
Well known text editor, Notepad++ uses Scintilla 🙂
You could grab notepad++ sources at http://sourceforge.net/projects/notepad-plus/, but It’s written in c++, so the API would be a bit different than in .NET.
EDIT
Notepad++ is capable of displaying files of around 100-200MB. If you need better than that, you would need to implement some kind of paging technology/virtual mode (do not load entire file, only the portion that would be displayed on the screen depending on current scrollbar position)
If Scintilla seems an overkill, then maybe you’d be better off with simply building a DataGrid. If log entries consist of several fields, these could become columns and would be even easier to read. If you want to go that route, first parse your log file into a List of LogEntry, then use databinding to bind to it. You could read your file incrementally as new lines get added for better user experience.