C# 将图标文件转换为XAML

C# 将图标文件转换为XAML,c#,xaml,icons,C#,Xaml,Icons,我想在现有的WPF应用程序中使用几个windows图标 应用程序使用ResourceDictionary中的XAML DrawingImages 有没有办法将我的windows图标文件转换为XAML DrawingImage 您可以直接从图标文件创建位图图像,如 <Window.Resources> <BitmapImage x:Key="Icon1" UriSource="Icons/Icon1.ico" /> </Window.Resources>

我想在现有的WPF应用程序中使用几个windows图标

应用程序使用ResourceDictionary中的XAML DrawingImages


有没有办法将我的windows图标文件转换为XAML DrawingImage

您可以直接从图标文件创建
位图图像
,如

<Window.Resources>
    <BitmapImage x:Key="Icon1" UriSource="Icons/Icon1.ico" />
</Window.Resources>
或者对于绘图图像,比如

<DrawingImage>
    <DrawingImage.Drawing>
        <ImageDrawing ImageSource="{StaticResource Icon1}"/>
    </DrawingImage.Drawing>
</DrawingImage>


我在我的dll项目中创建了一个名为Icons的文件夹,并将其复制到我的图标文件(icon1.ico)中,但它给出了一个错误“找不到路径C:\Windows\System32\Icons\icon1.ico的一部分”。我唯一的区别是,我在内部使用,而不是,出于某种原因,您会得到一个绝对路径。它来自哪里?如果你的VS项目中有一个图标文件,那么它的构建操作应该设置为Resource.OK。我已经检查过了,当我在主窗口XAML文件中使用它时,你的方法可以工作!但是,我在自定义控件中使用它,它有自己的XAML ControlTemplate。为什么会有什么不同?您可能必须使用完整的名称,包括程序集名称,如
pack://application:,,,/您的组件;组件/图标/Icon1.ico
<DrawingImage>
    <DrawingImage.Drawing>
        <ImageDrawing ImageSource="{StaticResource Icon1}"/>
    </DrawingImage.Drawing>
</DrawingImage>