2012-09-28 71 views
3

我試圖設置語法高亮在我的節目我正在使用AvalonEdit如何在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.UriFormatException」的第一次機會異常出現在System.dll中

我應該如何改變這種馬它工作嗎?

回答

0

我用

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);  
} 
} 
0

那是因爲你沒有包括你的程序集名稱。因此,如果將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); 
      } 
     } 
    }