【问题标题】:How to Set Syntax Highlighting in AvalonEdit?如何在 AvalonEdit 中设置语法高亮?
【发布时间】:2012-09-19 21:19:36
【问题描述】:

我正在尝试在我正在使用 AvalonEdit 制作的程序中设置语法突出显示

这是我正在使用的代码:

StreamResourceInfo sri = Application.GetResourceStream(new Uri("lua.xshd"));
        using (Stream s  = sri.Stream)
        {
            using (XmlTextReader reader = new XmlTextReader(s))
            {
                var gLua = HighlightingLoader.LoadXshd(reader);
                editor.SyntaxHighlighting = HighlightingLoader.Load(gLua, HighlightingManager.Instance);
                editor.Text = reader.ToString();
            }
        }

我也来了

System.dll 中发生了“System.UriFormatException”类型的第一次机会异常

我应该如何更改它以使其正常工作?

【问题讨论】:

    标签: c# wpf syntax-highlighting avalonedit


    【解决方案1】:

    我用

    using (Stream s = File.OpenRead(@"C:\Users\JFM\Documents\latex3.xshd")) 
    {
    using (XmlTextReader reader = new XmlTextReader(s)) 
     {
       editor.SyntaxHighlighting = ICSharpCode.AvalonEdit.Highlighting.Xshd.HighlightingLoader.Load
           (reader, ICSharpCode.AvalonEdit.Highlighting.HighlightingManager.Instance);    
     }
    }
    

    【讨论】:

      【解决方案2】:

      这是因为您没有包含您的程序集名称。因此,如果您将 xshd 构建为嵌入式资源,它应该是这样的。

          private void LoadHightLightRule()
          {
              using (Stream s = myAssembly.GetManifestResourceStream("Your_Assembly_Name.lua.xshd"))
              {
                  using (XmlTextReader reader = new XmlTextReader(s))
                  {
                      Editor.SyntaxHighlighting = HighlightingLoader.Load(reader, HighlightingManager.Instance);
                  }
              }
          }
      

      【讨论】:

        猜你喜欢
        • 2017-07-05
        • 1970-01-01
        • 1970-01-01
        • 2011-09-11
        • 1970-01-01
        • 2019-01-29
        • 2016-04-13
        • 2012-08-02
        • 1970-01-01
        相关资源
        最近更新 更多