问题标签 [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 投票
3 回答
4391 浏览

c# - 在 .Net 3.5 上使用 ICSharpCode.AvalonEdit?

我正在尝试在我正在构建的 WPF 应用程序中使用来自 SharpDevelop 4.0 项目的 ICSharpCode.AvalonEdit.TextEditor 控件,但我似乎无法让它工作。

我从 svn://svnmirror.sharpdevelop.net/sharpdevelop/trunk/SharpDevelop/src/Libraries/AvalonEdit 在修订版 4304 中检查了源代码的副本。然后,我使用 Visual Studio 2008 SP1 构建了该项目,该项目没有成功错误。

然后我创建了一个空白的新 WPF 项目,将构建 DLL 添加到工具箱中,并将 TextEditor 控件拖放到默认的空窗口中,如下所示:

但是,当我运行项目时,表单完全空白。没有插入符号,鼠标光标保持默认指针,窗口不响应按键。

我错过了什么,还是 AvalonEdit 有点坏了?

[编辑:我开始认为这可能与我的特定设置有关。我正在运行 64 位 Windows 7 RC。这可能与它有关吗?我试过只为 x86 构建它,没有区别。]

0 投票
2 回答
2585 浏览

wpf - WPF 调试 AvalonEdit 绑定到 Document 属性

我整天坐着,试图找出为什么绑定到 AvalonEdits Document 属性不起作用。AvalonEdit 是一个高级 WPF 文本编辑器 - SharpDevelop 项目的一部分。(它将在 SharpDevelop v4 Mirador 中使用)。

因此,当我建立一个简单的项目时——一个 TextEditor(这是库中的 AvalonEdits 真实名称)并创建了一个具有一个属性的简单类——Document,它返回一个带有一些静态文本的虚拟对象,绑定工作得很好。

但是在现实生活中的解决方案中,我将 SomeEditor 对象的集合绑定到 TabControl。TabControl 具有 SomeEditor 的 DataTemplate 和 TextEditor 对象。

这行不通。到目前为止我调查的内容:

  • TextEditor 的 DataContext 设置为 SomeEditor 的正确实例
  • TextEditors Document 属性设置为 SomeEditor.Document 属性以外的其他实例
  • 当我将断点设置为附加到该绑定的无操作转换器时,它会向我显示 Document 的正确值(使用了转换器!)
  • 我还挖掘了 VisualTree 以获取对 TextEditor 的引用并调用 GetBindingExpression(TextEditor.DocumentProperty) 但这并没有返回任何内容

  • WPF 产生以下信息:

    System.Windows.Data 信息:10:无法使用绑定检索值,并且不存在有效的备用值;改用默认值。绑定表达式:路径=文档;DataItem='SomeEditor' (HashCode=26280264); 目标元素是'TextEditor'(名称='avalonEdit');目标属性是“文档”(类型“文本文档”)

  • 绑定到的 SomeEditor 实例在绑定发生之前已经创建并缓存了 Document 的副本。getter 永远不会被调用。

谁能告诉我可能出了什么问题?为什么没有设置 BindingExpression ?为什么永远不会调用属性获取器?

//编辑:新测试和新结果

我已经阅读了更多内容并在后面的代码中设置了绑定。当我这样做时,它会起作用。为什么在 XAML 中设置它不起作用而在代码中做同样的事情呢?

//edit2:在将对象添加到用作更高级别数据源的可观察集合后立即调用代码也会失败。(在 xaml 绑定应该触发后不久)。这让我觉得这是时间问题。任何人都可以告诉它一些事情吗?

//edit3: 绑定代码:

0 投票
1 回答
730 浏览

c# - 在 Sharpdevelop 3.x 中使用 AvalonEdit

我很想知道是否可以在 Sharpdevelop 3.x 中用 AvalonEdit 替换普通的 ICSharpCode.TextEditor。坦率地说,AvalonEdit 比 ICSharpCode.TextEditor 好太多了,所以在 Sharpdevelop 3.x 中使用 AvalonEdit 会更好。

我目前无法使用 Sharpdevelop 4,如果我可以在旧的 Sharpdevelop 3.x 中使用新的代码编辑器会更好。

任何人都可以解释一下吗?

提前致谢。

0 投票
1 回答
1408 浏览

c# - AvalonEdit - 可见文本

我尝试获取 avalonedit 控件的可见文本,但VisualLines[]唯一处理 wordwrap 的TextLines[],我不知道如何检查 TextLine 是否在可见区域中。

如果我可以在 textview 中获得可见文本的开始和结束偏移(或长度),那么问题也将得到解决,但我没有找到这样的函数或成员......

谁能帮我?谢谢

0 投票
1 回答
644 浏览

c# - AvalonEdit - 规则集跨度

如何检查某个位置的单词是否在 xshd-ruleset 的 Span[i] 中?

谢谢!

0 投票
1 回答
2374 浏览

avalonedit - AvalonEdit XSHD-Ruleset (for tex)

我正在使用 AvalonEdit 控件,但 xshd-ruleset (for tex) 有一个小问题:

原始文件“Mike Krueger (从 Jedit 收集)的 TeX 文档 2001 的语法定义”中有一个关于特殊关键字的部分,我想知道如何正确使用它们。

我虽然关键字将被涂成蓝色并且仅由它处理,但其他规则也在处理这些关键字的部分。例如

因此,如果您的文本中有“\%”,则“\”之外的所有内容都将变为灰色......

如果关键字禁止规则,例如'$' 和'%',如果之前有'\',那就太好了。

我必须做什么?还是我没看懂规则...

编辑

"\\" 由关键字 1 条目处理。< MarkFollowing ... 不用于“\\”,但 < Span ... 仍在突出显示“\$”和“\%”。

我发现

但它不起作用。

编辑2

使用新的语法突出显示定义,我认为问题是一样的。我将我的 tex 突出显示与 c# 突出显示进行了比较。在 c# 中,我们有:

我不使用sharpdevelop,但我认为它是有效的,突出显示不会失败,如果我转义像“这样的字符。所以在我的文件中它类似于那个,比如

但它不起作用......也许有问题,因为转义字符是 < Rule > ?

0 投票
3 回答
8797 浏览

c# - WPF AvalonEdit SQL xhsd 请求

我在互联网上(一遍又一遍)查找,但找不到 AvalonEdit 的 SQL.vshd 文件,我使用的是旧格式版本,但它使编辑器出现错误(它根本不再显示) , 所以我想知道也许有人已经完成了这样的文件,因为如果已经完成了,我不想浪费我的时间来做这个。

如果你能和我分享你的,那将不胜感激:)

提前致谢

0 投票
1 回答
1759 浏览

c# - ElementHost 中的 WPF 控件不可见

ICSharpCode.AvalonEdit.TextEditor在 ElementHost 内的 Winforms 项目中有一个 WPF 控件 ()。

我已经通过调试器确认 TextEditor 实际上设置为 ElementHost 的子级,并且它的所有属性都设置正确,它只是不可见且无法与之交互(就像您将 IsVisible 属性设置为 false 一样)。

ElementHost 出现了,我可以与之交互,但是 Child 控件不可见。我已经检查了 TextEditor 的 Visiblity 和 IsVisible 属性是否应该如此。

我从未真正编写过 WPF 应用程序,因此请尝试任何建议,无论多么简单,这可能意味着我的 WPF 控件是不可见的。它可能与 ElementHost、控件本身或特定的 AvalonEdit 行为有关。

有什么建议么?

0 投票
2 回答
1853 浏览

c# - 在正则表达式中转义 XML 尖括号

我一直在使用 ICSharp TextEditor 控件,它使用 XML 文件通过 C# regex 引擎计算出不同的语法高亮部分(字符串、注释等)。

所以我一直在使用这个正则表达式来匹配和弦符号(来自这个问题):

\b[A-G](?:add|maj|j|m|\+|b|\#|sus|\d|°)*(?:\b|(?<=\#))

问题是,< 符号是 XML 语法的一部分,所以我将其替换为 <,使其成为:

\b[A-G](?:add|maj|j|m|\+|b|\#|sus|\d|°)*(?:\b|(?&lt=\#))

问题是,在这样做之后,程序由于无效的正则表达式而崩溃。我已经缩小了范围,这肯定是导致问题的 < 。

那么有没有其他方法可以转义 < 尖括号,同时仍然允许正则表达式引擎使用它。

0 投票
1 回答
478 浏览

c# - 调用外部构造函数时应用程序挂起 - 故障排除步骤?

这可能是一个长镜头,但我没有想法。

我有一个 VS C# 解决方案,其中包含三个项目。有一个类库项目,然后是两个依赖于该类库的应用程序项目。类库又依赖于其他一些 DLL,包括来自 sharpdevelop 项目的 avalonedit dll。

其中一个应用程序正在构建和运行良好,包括使用我自己的包含 avalonedit 控件的控件。另一个应用程序无法运行,并且在我的包装控件中通过 XAML 初始化 avalonedit 控件时似乎失败了。

问题是我在调试输出中根本看不到任何错误,我看到的只是 dll 加载消息,然后什么也没有。如果我进入我的控件的构造函数,则该步骤永远不会完成。调试器说应用程序正在运行,但当底层编辑控件由 XAML 端构建时,它显然在 avalonedit dll 中的某个地方旋转。

我不得不假设这两个项目之间的环境差异存在一些问题,但我对如何继续追踪问题感到有些困惑。我是否必须以某种方式安排事情,以便我可以中断 avalonedit 源?

编辑:如果我暂停/中断所有它只是回到调用我的控制构造函数的行。