Вставить иконку в приложение WPF - PullRequest
1 голос
/ 12 июня 2009

Я использую значок в своем приложении в двух ситуациях.

  1. В XAML в качестве изображения для кнопки с использованием DynamicResource.
  2. В C # как NotifyIcon

    this.notifyIcon.Icon = new SystemDrawing.Icon ("..//..// Shutdown.ico");

Моя проблема, если я удаляю изображение, приложение не работает. Как связать образ с файлом exe, чтобы приложение могло работать только с файлом exe?

Ответы [ 2 ]

2 голосов
/ 15 июня 2009

Добавьте значок к проекту в качестве ресурса (не встроенного ресурса, есть разница), затем получите к нему доступ с помощью

using(Stream stream = Application.GetResourceStream(new Uri("/Shutdown.ico")).Stream)
{
    this.notifyIcon.Icon = new SystemDrawing.Icon(stream);
}

Затем вы также сможете использовать его в своем XAML, я просто не могу вспомнить, как.

Смотрите здесь для получения дополнительной информации: http://msdn.microsoft.com/en-us/library/aa970494.aspx

Примечание : я не включил здесь проверку ошибок. Вам, вероятно, следует убедиться, что вы проверите поток, чтобы увидеть, является ли он нулевым, прежде чем использовать его.

0 голосов
/ 15 июня 2009

В прошлый раз, когда мне нужно было сделать это, изображение было настолько простым, что было проще всего создать рисование линий в XAML (аналогично SVG) вместо использования файла. Я пытался создать простой мастер в стиле Vista без повторного использования чьего-либо кода (чтобы посмотреть, смогу ли я), и я хотел стрелку командной кнопки, как это видно из рекомендаций по UX на MSDN.

...