在WPF中使用Windows窗体图标

在WPF中使用Windows窗体图标,wpf,notifyicon,Wpf,Notifyicon,我有一个WPF代码,它可以工作 Uri iconUri = new Uri("pack://application:,,,/media/images/VS.ico", UriKind.RelativeOrAbsolute); this.Icon = BitmapFrame.Create(iconUri); 我正在WPF应用程序中使用windows窗体notifyIcon控件,现在需要将图标分配给它。如何从WPF图标到System.Drawing.icon? 我使用它的方式如下: return

我有一个WPF代码,它可以工作

Uri iconUri = new Uri("pack://application:,,,/media/images/VS.ico", UriKind.RelativeOrAbsolute);
this.Icon = BitmapFrame.Create(iconUri);
我正在WPF应用程序中使用windows窗体notifyIcon控件,现在需要将图标分配给它。如何从WPF图标到System.Drawing.icon?

我使用它的方式如下:

return Imaging.CreateBitmapSourceFromHBitmap(source.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());

其中源代码是一个
位图
,您可以通过调用
图标
.ToBitmap()
方法来获取该位图。

我使用以下方法:

// Setup the new NotifyIcon
System.Windows.Forms.NotifyIcon notifyIcon = new System.Windows.Forms.NotifyIcon();
notifyIcon.Text = "Name of Application";
notifyIcon.Icon = new System.Drawing.Icon("media/images/VS.ico");
notifyIcon.Visible = true;

确保添加对System.Drawing的引用。

我在任何地方都看不到ToBitmap方法。它是哪个班级的成员?谢谢。您接受了另一个答案,但出于完整性考虑。也许我只是混淆了WinForms/WPF图标类。Brent,在运行代码后,我看不到systray图标,尽管它构建得很好。我的图标在资源中。也许这就是问题所在。。。Uri iconUri=新Uri(“pack://application:,,,,/media/images/VS.ico”,UriKind.RelativeOrAbsolute);我当前的代码如下所示。。。已加载私有无效窗口(对象发送方,RoutedEventArgs e){notifyIcon=new System.Windows.Forms.notifyIcon();Uri iconUri=new Uri('pack://application:,,,/media/images/VS.ico“,UriKind.RelativeOrAbsolute);this.Icon=BitmapFrame.Create(iconUri);//这样做可以使URI正常工作notifyIcon.Text=“应用程序名称”;notifyIcon.Icon=new System.Drawing.Icon(“/media/images/VS.ico”);notifyIcon.Visible=true;//systray中可能没有显示任何内容}。。。我使用的图标具有内容的构建操作,我将图标复制到输出目录。我会更新我的答案…现在知道了,感谢你的最新调整,但是使用的路径是“media\images\VS.ico”,没有前导斜杠。非常感谢。