Слияние кода завершено, страница обновится автоматически
using ICSharpCode.AvalonEdit.CodeCompletion;
using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.AvalonEdit.Editing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LunarSF.SHomeWorkshop.LunarMarkdownEditor
{
/// <summary>
/// 表示自动完成列表中的某个项目。
/// </summary>
public class CustomCompletionData : ICompletionData
{
public CustomCompletionData(string text, string description, string completeText = null)
{
this.Text = text;
this.description = description;
if (completeText == null)
{
this.completeText = this.Text;
}
else
{
this.completeText = completeText;
}
}
private string completeText;
/// <summary>
/// 自动完成文本。
/// </summary>
public string CompleteText
{
get { return this.completeText; }
}
private System.Windows.Media.ImageSource image;
/// <summary>
/// 自动完成项目的图标。
/// </summary>
public System.Windows.Media.ImageSource Image
{
get { return image; }
set { image = value; }
}
public string Text { get; private set; }
// Use this property if you want to show a fancy UIElement in the list.
public object Content
{
get { return this.Text; }
}
private string description;
/// <summary>
/// 此条目的描述信息。
/// </summary>
public object Description
{
get { return this.description; }
}
public CompleteItemType Type { get; set; } = CompleteItemType.Normal;
/// <summary>
/// 自动完成(上屏)
/// </summary>
/// <param name="textArea">目标文本区域。</param>
/// <param name="completionSegment">自动完成片段。</param>
/// <param name="insertionRequestEventArgs">插入请求事件参数。</param>
public void Complete(TextArea textArea, ISegment completionSegment,
EventArgs insertionRequestEventArgs)
{
textArea.Document.Replace(completionSegment, this.CompleteText);
OnComplete(this, new EventArgs());
}
/// <summary>
/// 优先权。本例中不需要它。
/// </summary>
public double Priority
{
get { return 0; }
}
/// <summary>
/// “自动完成”动作发生后触发此事件。
/// </summary>
public event EventHandler<EventArgs> Completed;
/// <summary>
/// 用于触发“Completed”事件。
/// </summary>
protected void OnComplete(object sender, EventArgs e)
{
if (this.Completed != null)
{
this.Completed(sender, e);
}
}
}
public enum CompleteItemType
{
Normal, //之前
MarkdownFileLink, //普通MD文件链接
MetaMarkdownFileLink, //目录对应的元文件的链接
ImageResourceLink, //图像资源文件
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )