熟悉.net的同学,应该都接触过SharpDeveplop这个IDE吧。本人觉得相当好用,对于简单的应用开发来讲,比起Visual Studio,在某些方面上更有优势。本文介绍的就是AvalonEdit就是SharpDevelop的一个组件。
下载
官方主页上没有下载,目前只能从CodeProject网站上的一篇文章Using AvalonEdit (WPF Text Editor)中下载。
使用
参照Using AvalonEdit (WPF Text Editor)中的样例程序,简单地试用一下。
1. 将下载的ICSharpCode.AvalonEdit.dll拷贝到WPF工程目录下,并添加到工程中。
2. 在工程中添加对ICSharpCode.AvalonEdit.dll文件的引用。
3. 在XAML文件中添加以下代码:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->
<
avalonEdit:TextEditor
Name ="textEditor"
IsReadOnly ="True"
FontFamily ="Consolas"
FontSize ="10pt" >
</ avalonEdit:TextEditor >
Name ="textEditor"
IsReadOnly ="True"
FontFamily ="Consolas"
FontSize ="10pt" >
</ avalonEdit:TextEditor >
在此之前需要添加XAML中的命名空间:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->
xmlns:avalonEdit="http://icsharpcode.net/sharpdevelop/avalonedit"
可以看到avalonEdit:TextEditor的基本使用比较简单。IsReadOnly表示是否只读;FontFamily表示字体样式;FontSize表示字体大小。
4. 在cs文件中添加以下代码:
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->
textEditor.Load(_filePath);
textEditor.SyntaxHighlighting = HighlightingManager.Instance.GetDefinitionByExtension(Path.GetExtension(_filePath));
textEditor.SyntaxHighlighting = HighlightingManager.Instance.GetDefinitionByExtension(Path.GetExtension(_filePath));
只有设置路径(_filePath)即可,TextEditor能够自动读取文件,并进行高亮显示。
其他
AvalonEdit的功能相当强大,不只能对代码进行高亮显示,还有代码折叠、自动完成等功能,值得大家使用或者研究。