Search code examples
wpfresourcesicons

How do I use an icon that is a resource in WPF?


I have a .ico file that is embedded as a resource (build action set to resource). I am trying to create a NotifyIcon. How can I reference my icon?

notifyIcon = new NotifyIcon();
notifyIcon.Icon = ??     // my icon file is called MyIcon.ico and is embedded

Solution

  • Your icon file should be added to one of your project assemblies and its Build Action should be set to Resource. After adding a reference to the assembly, you can create a NotifyIcon like this:

    System.Windows.Forms.NotifyIcon icon = new System.Windows.Forms.NotifyIcon();
    Stream iconStream = Application.GetResourceStream( new Uri( "pack://application:,,,/YourReferencedAssembly;component/YourPossibleSubFolder/YourResourceFile.ico" )).Stream;
    icon.Icon = new System.Drawing.Icon( iconStream );