using System.Windows.Interop;
...
ImageSource img = Imaging.CreateBitmapSourceFromHIcon(
shinfo.hIcon,
new Int32Rect(0,0,i.Width, i.Height),
BitmapSizeOptions.FromEmptyOptions());
Я верю, что есть более простой (более управляемый) способ решить эту проблему. http://www.pchenry.com/Home/tabid/36/EntryID/193/Default.aspx
Суть решения здесь.
System.Drawing.Icon formIcon = IconsInWPF.Properties.Resources.Habs;
MemoryStream stream = new MemoryStream();
formIcon.Save(stream);
this.Icon = BitmapFrame.Create(stream);