LunarMind/TestEditor/QuestionEditor.cs
(开头部分) 20KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using ICSharpCode.AvalonEdit;
using ICSharpCode.AvalonEdit.Highlighting;
using System.IO;
using System.Xml;
using ICSharpCode.AvalonEdit.CodeCompletion;
using ICSharpCode.AvalonEdit.Folding;
using System.Windows.Input;
using System.Windows.Threading;
using ICSharpCode.AvalonEdit.Search;
using System.Windows;
using System.Text;
using System.Windows.Data;
using SHomeWorkshop.LunarMind;
namespace LunarSF.SHomeWorkshop.LunarMind
{
/// <summary>
/// 创建者:杨震宇
/// 创建时间:2013年3月29日
///
/// 说明:试题编辑器类。
/// </summary>
public class QuestionEditor : TextEditor
{
private static IHighlightingDefinition customHighlighting;
static QuestionEditor()
{
// 载入代码高亮的定义文件
Stream s = typeof(MainWindow).Assembly.GetManifestResourceStream("SHomeWorkshop.LunarMind.TestEditor.CustomHighlighting.xshd");
if (s != null)
{
using (XmlReader reader = new XmlTextReader(s))
{
customHighlighting = ICSharpCode.AvalonEdit.Highlighting.Xshd.HighlightingLoader.Load(reader, HighlightingManager.Instance);
}
}
}
public QuestionEditor()
{
this.WordWrap = true;
this.ShowLineNumbers = true;
this.Options.ShowColumnRuler = true;
this.Options.ShowSpaces = true;
this.Options.ShowTabs = true;
this.Options.WordWrapIndentation = this.FontSize * 8;
this.Options.HighlightCurrentLine = true;
//括弧替换
//this.PreviewKeyDown += QuestionEditor_PreviewKeyDown;
this.PreviewTextInput += QuestionEditor_PreviewTextInput;
#region 代码高亮处理
HighlightingManager.Instance.RegisterHighlighting("Custom Highlighting", new string[] { ".LunarTest" }, customHighlighting);
this.SyntaxHighlighting = HighlightingManager.Instance.GetDefinitionByExtension(".LunarTest");
this.TextArea.IndentationStrategy = new ICSharpCode.AvalonEdit.Indentation.DefaultIndentationStrategy();
后面还有 452 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。