运行时C#.NET的WPF上没有显示图标?
我有一个WPF表单,我正在尝试添加一个图标。在属性菜单中,我从我的资源文件夹中选择了我的图标。在“设计”视图中,图标显示在其应显示的位置。当我运行应用程序时,它会显示默认视图。我查了好几个消息来源。最常见的反应是将其设置为主窗体,我也这样做了。下面是我的代码的样子运行时C#.NET的WPF上没有显示图标?,c#,.net,wpf,C#,.net,Wpf,我有一个WPF表单,我正在尝试添加一个图标。在属性菜单中,我从我的资源文件夹中选择了我的图标。在“设计”视图中,图标显示在其应显示的位置。当我运行应用程序时,它会显示默认视图。我查了好几个消息来源。最常见的反应是将其设置为主窗体,我也这样做了。下面是我的代码的样子 //in private void InitializeComponent() { this.Load += new System.EventHandler(this.CallTrak_Load); } //in CallT
//in private void InitializeComponent()
{
this.Load += new System.EventHandler(this.CallTrak_Load);
}
//in CallTrak.Load
private void CallTrak_Load(object sender, EventArgs e)
{
System.Drawing.Icon ico = Properties.Resources.favicon;
this.Icon = ico;
}
所以,我的问题是,因为它与这篇文章的标题有关,我是否在运行时错误地加载了我的图标?如果是,关于如何正确操作的建议。我还应该检查什么来确定我的问题是什么?我不确定您是否有WPF应用程序,并且在资源中您是否有ico的图标文件类型 如果有的话。问题可能在于: 您的
ico
变量的类型为System.Drawing.Icon
和窗口。Icon
属性的类型为ImageSource
System.Drawing.Icon ico = Properties.Resources.favicon;
//can not assign Drawing.Icon to ImageSource
this.Icon = ico;
您应该得到异常:
Cannot implicitly convert type 'System.Drawing.Icon' to 'System.Windows.Media.ImageSource'
如果你想用你需要的方式
或者简单的方法:
例如,将您的图标放到“图像”文件夹中。将生成操作设置为“内容”,并复制到输出目录“复制”(如果更新)。然后您可以使用:
this.Icon = new BitmapImage(new Uri("images/love.ico", UriKind.Relative));
您可以下载的示例应用。您是否尝试过完整的“重建”并清理解决方案的“bin”和“obj”文件夹?您是通过Visual studio还是从发布文件夹中的.exe文件运行它?如果您通过VS运行它,您的应用程序将托管在vshost.exe进程中,并且它会显示该图标,而不是应用程序中的图标。@JensH当我进入我的bin时,该图标位于.exe文件中。但是,打开文档后,左上角的图标默认为基本图标。当它最小化时,它有相同的图标。让它工作。虽然该文件位于我的资源文件夹中,但我必须将其直接添加到资源中。这将文件更改为.bmp
this.Icon = new BitmapImage(new Uri("images/love.ico", UriKind.Relative));