2017-02-21 9 views
2

Я пытаюсь создать иконку из потока, как это, например:System.Drawing.Icon не существует

System.IO.Stream iconStream = Application.GetResourceStream(new Uri("pack://application:,,,/YourReferencedAssembly;component/YourPossibleSubFolder/YourResourceFile.ico")).Stream; 

Затем, когда я пытаюсь присвоить его, как это он не имеет ни малейшего представления о Icon внутри рисования, я пытался добавить ссылку и все еще ничего:

tbi.Icon = new System.Drawing.Icon(iconStream); 

Имея это в верхней:

using System.Drawing; 

Вот ошибка:

Error 1 The type or namespace name 'Icon' does not exist in the namespace 'System.Drawing' (are you missing an assembly reference?)

Его действительно озадачивает меня, я бы признателен за любые идеи о том, что просто, что я должно быть забыл добавить.

+0

Проект Visual Studio, ориентированный на WPF, по умолчанию не ссылается на сборку System.Drawing. Это связано с тем, что элементы из пространств имен System.Drawing (например, Icon) обычно не используются в приложениях WPF. Почему вы используете System.Drawing.Icon в приложении WPF? – Clemens

+0

Я использую этот nuget для значка панели уведомлений: www.codeproject.com/KB/WPF/wpf_notifyicon.aspx, и в примере, который он дает для загрузки значка, он использует пространство имен System.Drawing. – maxoroka

ответ

1

Возможно, ваш проект не ссылается на эту сборку.

Чтобы это исправить:

  1. Перейти к ваш проект ссылается
  2. правой кнопкой мыши и выберите "Add Reference ..."
  3. Под Сборки, выберите "System.Drawing"

Я надеюсь, что это должно позаботиться об этом

+1

Это было сделано. Странно, что «использование System.Drawing»; не работает. Благодаря! – maxoroka

+0

Проект должен ссылаться на сборку перед классом. Большинство базовых проектов C# (WPF Windows, Console Applications и т. Д.) Уже ссылаются на кучу сборок по умолчанию, но System.Drawing просто не является одним из тех – Dmihawk

+1

Это полезно знать! – maxoroka