我需要将一个分配Icon
给 WPF 窗口,但似乎无法从资源文件中执行此操作。我尝试了这个解决方案,但最终得到:
Icon 属性的 ImageSource 必须是图标文件
但是,如果我尝试将其保留为Icon
,那么我会收到一个需要转换为的错误ImageSource
...
Icon = Properties.Resources.myIcon.ToImageSource();
我最终做了以下事情:
using (var iconStream = new MemoryStream())
{
icon.Save(iconStream);
iconStream.Seek(0, SeekOrigin.Begin);
return BitmapFrame.Create(iconStream);
}
这实际上是我已经引用过的同一个问题的不被接受的答案之一:只是一个不同的回应
您引用的另一个 SO 解决方案是从 IntPtr 创建一个图标,因此不适用于您的情况。而是尝试以下操作:
var icon = BitmapFrame.Create(Application.GetResourceStream(
new Uri("MyAppIcon.ico", UriKind.RelativeOrAbsolute)).Stream);