2014-01-31 127 views
0

嗨我有一些解析器錯誤,當我試圖添加圖標到NotifyIcon。這一個正常工作:WPF NotifyIcon問題

System.Windows.Forms.NotifyIcon ni = new System.Windows.Forms.NotifyIcon(); 

ni.Icon = new System.Drawing.Icon("C:\\Users\\Daniel\\Documents\\Visual Studio 
2012\\Projects\\Pies\\Pies\\main.ico"); 

但是,當我試圖做這樣:

ni.Icon = new System.Drawing.Icon("main.ico"); 

它返回一些奇怪的ParserError。我將main.ico添加到項目中。當我在xaml中添加圖像時,我只是使用「/image/image.jpg」,但這不希望以這種方式工作。你知道爲什麼嗎?

+0

這「怪ParserError」可能讀起來就像希臘給你,你絕對不知道這意味着什麼。但是告訴我們,究竟是什麼問題。最好不要假設我們會像你一樣對錯誤信息感到困惑。 –

+0

如果你想查看所有的錯誤信息,請轉到VS2012>新項目> wpf C#,添加一些圖標,將這兩條通道複製到公共MainWindow()中。 – Finchsize

回答

1

請注意,您要使用的WinForms控制在WPF項目中。 icon class from WinForms不支持包URI。

由於您想將圖像存儲在程序集中,因此無法輕鬆將其作爲WinForms Icon獲取。 WPF通常與ImageSource類一起使用,您可以將它轉換爲WF圖標(How can I convert BitmapImage to Icon?),但我會稱之爲痛苦。

NotifyIcon沒有在WPF中實現,所以我建議試試這個solution

更多detais:Can I use NotifyIcon in WPF?

0

你爲什麼不解決方案中的新增.ico文件和參考指向它是這樣的

嘗試這樣做

ni.Icon = new System.Drawing.Icon(@"pack://application:,,,/Icon/main.ico"); 
+0

它給了我同樣的錯誤:XamlParseException,我已經將此ison添加爲項目圖標。 – Finchsize

+0

更新了我的答案。 –

+0

我應該用某個東西來替換這個逗號,或者只是像這樣複製?在這種格式下,它仍然像以前一樣返回相同的錯誤。 – Finchsize