问题标签 [avalonedit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1294 浏览

c# - Mvvm 与 A​​valonEdit SelectionStart、SelectionLength 的绑定

我正在尝试使用 MVVM 模式让 AvalonEdit 正常工作,但我真的不知道该怎么做。我想将 SelectionLength 和 SelectionStart 绑定到我的 ViewModel,以便在执行某些业务逻辑时可以访问这两个值。

我开始像这样创建 DependencyProperties:

TextDependencyProperty 工作正常,但 SelectionLength 和 SelectionStart 不工作。

我为 SelectionChanged 添加了一个事件处理程序(但我并不完全使用 SetValue 在这里做的事情:

选择现在可以工作,但是向后选择有问题。在这种情况下,SelectionStart 始终为 0。如果到目前为止我所做的一切都是正确的,那么我将创建一个逻辑,如果有人向后选择,则将索引和长度正确转换。我必须在 PropertyMetaDataDelegate 中实现这个逻辑吗?

0 投票
1 回答
1954 浏览

avalonedit - Avalonedit 显示语法错误

当我使用 avalonedit 开发自定义语言 IDE 时,我遇到了一个问题。我使用正则表达式来检查语法,它按设计工作。但是,我想用波浪文本标记显示语法错误。我确实在 google 上搜索过,但该解决方案要么已过时,要么不可行。有任何想法吗?提前谢谢。

0 投票
2 回答
2645 浏览

c# - AvalonEdit 中的整行高亮显示

我正在使用 AvalonEdit 为补丁文件创建一个视图,我想让它在整行中突出显示差异,而不仅仅是文本背景 - 类似于 GitHub for Windows 今天所做的:

我是 AvalonEdit 的新手,所以我不确定最好的方法。这是我到目前为止发现的:

  • 覆盖VisualLineElementGenerator以创建一个附加的 TextSpan,它是控件的长度。这似乎很棘手。

  • 手动创建一个新控件以TextView.Layers在背景中添加并在绿色/红色中添加 OnRender - 这似乎更有希望,但目前还不清楚我需要挂钩什么事件以检测何时重新渲染。

  • 覆盖 TextView - 这似乎有点矫枉过正。

编辑:这是一个简单的语法荧光笔会发生什么,这是我想要的:

0 投票
2 回答
2418 浏览

c# - AvalonEdit:是否可以突出显示这种语法?

我有一个简单的“语言”(类似于模板语言和简单的标记语言,例如 BBcode — 基本上它只是带有一些变量、标签和类似功能的普通文本),我想强调它的语法。

这是我坚持的事情。

有变量,它们用$符号($var1$)括起来。我用这条规则突出显示它们:

变量周围的某些区域可以用{ }字符包围。

换句话说:一些变量可以有它的“区域”,它从变量之前的第一个{开始,到变量之后的第一个}结束。多个变量不能在一个区域中,因此在{ $var1$ $var2$ }没有任何区域的情况下,{ } 被视为普通字符并被忽略。它不是 C 风格语言中的函数和局部范围之类的范围。

这是一个例子:

首先,我尝试使用两个正则表达式来解决这个问题(对于 { 和 },当然使用这种方法不可能跳过带有or之类的Rule未闭合括号的情况,但这不是一个大问题)。但是我发现它只在一行内有效。{ $var$$var$ }Rule

然后我尝试Span这样:

一些问题:

  • 虽然是multiline正则true表达式Begin并且End不适用于多行。所以它不匹配这个:

    /li>
  • 如果没有右括号,则 span 会占用所有内容,直到文档结束。这就是我添加.规则的原因。

0 投票
1 回答
424 浏览

c# - 如何在运行时将关键字添加到主规则集?

我在运行时向主规则集添加了一个新的关键字对象。但除了那些关键字之外,其他规则都正确着色。

谁能解释为什么在运行时加载的单词没有突出显示?


其中,突出显示的方法是:

谢谢!


更新 1

在尝试了丹尼尔的建议后,

我得到这个例外:

在此处输入图像描述

那么,为什么会抛出这个异常呢?我要做的就是添加Keywords对象并将其颜色设置为 XSHD 中的预定义颜色。

或者,这不是正确的方法吗?

0 投票
1 回答
124 浏览

avalonedit - 无法在 AvalonEdit 的基本用法中输入空格

我将 AvalonEditor 的一个简单实例放入 WPF 用户控件中,它会忽略我尝试输入的任何空格。但是其他文字很好。我没有配置任何突出显示或更改控制模板。我是否需要在控件上配置设置以接受空格?谢谢

0 投票
3 回答
1068 浏览

c# - 使用 MVVM 在 WPF 中绑定失败

我创建了一个TextEditor继承自 AvalonEdit 的自定义控件。我这样做是为了方便使用此编辑器控件使用 MVVM 和 Caliburn Micro。[为显示目的而削减]MvvTextEditor类是

现在,在拥有此控件的视图中,我有以下 XAML:

我的问题是SelectionLengthSelectionStart但让我们现在只考虑长度,因为问题是一样的)。如果我用鼠标选择了一些东西,从视图到我的视图模型的绑定效果很好。现在,我编写了一个查找和替换实用程序,我想从后面的代码中设置SelectionLength(在控件中具有get并且set可用)。TextEditor在我的视图模型中我只是设置SelectionLength = 50,我在视图模型中实现这个

当我设置时SelectionLength = 50,类DependencyProperty SelectionLengthProperty中没有更新,MvvmTextEditor就像TwoWay绑定到我的控件失败但使用 Snoop 没有任何迹象。我认为这只会通过绑定起作用,但事实并非如此。

我是否缺少一些简单的东西,或者我是否必须在类中设置事件处理程序MvvmTextEditor来监听我的视图模型中的变化并更新 DP 本身[这会带来它自己的问题]?

谢谢你的时间。

0 投票
1 回答
2295 浏览

avalonedit - AvalonEdit - 语法高亮 - 如何添加下划线、更改字体大小等?

我正在尝试构建一个基本的 Markdown 风格的纯文本/富文本编辑器。(文本样式是内联的,而不是像大多数 Markdown 编辑器那样并排放置两个面板)(我也不打算支持完整的 Markdown 规范 - 没有列表或表格,主要只是富文本格式如粗体、斜体、下划线等)

我有一个使用 AvalonEdit 项目的项目(通过源代码,而不是 Nuget 包) - 我完全按照我的意愿设置了编辑器 - 然后当我意识到荧光笔只支持时,我开始编写语法高亮 XSHD 文件字体颜色、斜体、粗体等格式,而不是字体大小、下划线等...

如何添加其他字体格式?我是否必须编写一个全新的解析器/荧光笔/其他?有没有一种简单的方法可以连接和扩展现有的荧光笔?

我已经对源文件 (TextEditor.xaml) 中的一个文件进行了一些小的更改,并且我愿意进行更多更改以完成这项工作 - 尽管当我开始时我希望尽可能少地接触源文件。 ..

如果有人能指出我正确的方向,我会很感激 - 谢谢!

0 投票
1 回答
291 浏览

wpf - 如何在 AvalonEdit 中居中文本?

我正在使用 ICSharpCode 的 AvalonEdit 文本编辑器,并且我有一个自定义 DocumentColorizingTransformer。

我想在 ColorizeLine 中居中某些文本行。这可能吗?

我已经能够弄清楚如何以我想要的所有其他方式(颜色、斜体、下划线等)更改行的文本,但我不知道如何更改行的文本对齐方式......

0 投票
0 回答
455 浏览

c# - WPF AvalonEdit 不显示来自 ViewModel 的绑定 TextDocument

我的输出窗口中没有绑定错误。

我想通过 MVVM 将文件中的文本绑定到一个/多个 avalonEdit 控件。

我该怎么做,因为它不像我尝试的那样工作?!

看法

视图模型

我看过那个样本是引入了 MVVM:

http://www.codeproject.com/Articles/570313/AvalonDock-Tutorial-Part-AvalonEdit-in-Avalo

当我加载文本文件时,我实际上做了同样的绑定,但我的文本没有显示:/

你可以在这里找到一个 repro visual studio 解决方案:

http://www.file-upload.net/download-9067428/ExpanderTest.7z.html