Вы можете сделать это способом ANSI Common Lisp (хотя я думаю, что есть некоторые разработки Emacs, которые придадут вам неприятный вид):
(flet ((do-work (x y z)
(do-x x)
(do-y y)
;; etc
))
(cond (test-1 (do-work 'a 'b 'c))
(test-2 (do-work 'i 'j 'k))))
Не знаю, если вам сначала придется (require 'cl)
( или cl-macs
?) использовать flet. Если вы хотите определить рекурсивные функции, вам нужно использовать labels
IIRC.
Add the icon to the project as a Resource (not Embedded Resource, there is a difference), then access it with
using(Stream stream = Application.GetResourceStream(new Uri("/Shutdown.ico")).Stream)
{
this.notifyIcon.Icon = new SystemDrawing.Icon(stream);
}
You should also then be able to use it in your XAML too, I just can't remember how yet.
See here for more information: http://msdn.microsoft.com/en-us/library/aa970494.aspx
Note: I have not included any error checking here. You should probably make sure you check the stream to see if it is null before using it.
В последний раз, когда мне нужно было это сделать, изображение было настолько простым, что проще всего было просто создать рисунок линии в XAML (аналогично SVG) вместо использования файла. Я пытался создать простой мастер в стиле Vista без повторного использования чужого кода (чтобы посмотреть, смогу ли я), и мне нужна была стрелка на командной кнопке, как это видно в рекомендациях по UX на MSDN.