如何:使用属于dll的图像

时间:2014-05-30 07:41:53

标签: c# wpf dll bitmap uri

如何:使用属于dll的图像

我创建了一个dll,它有一个使用图像的公共方法。这些图像是嵌入的。现在,当我尝试在我的新项目中使用程序集时,除了图像之外,每个方法都可以正常工作。

我试图在不使用程序集(只是一个普通的WPF应用程序)的情况下运行应用程序并且它有效。看来,应用程序没有找到来自dll的嵌入式图像。

我创建dll中使用的图片的方式:

public void CreateBitmapImage(string uri)
    {
        BitmapImage bitmapImage = new BitmapImage();
        bitmapImage.BeginInit();
        bitmapImage.UriSource = new Uri(uri, UriKind.Absolute);
        bitmapImage.EndInit();
        image_msgIcon.Source = bitmapImage;
    }

    public void SetMsgImage(string msgImage)
    {
        if (msgImage == Error)
        {
            CreateBitmapImage("pack://application:,,,/CL.New;component/Images/CustomMessageBox/cross-circle.png");
        }
        else if (msgImage == Exclamation)
        {
            CreateBitmapImage("pack://application:,,,/CL.New;component/Images/CustomMessageBox/exclamation.png");
        }
        else
        {
        }
    }

现在我收到此错误消息:

Die Ressource "images/custommessagebox/cross-circle.png" kann nicht gefunden werden.
The resource "images/custommessagebox/cross-circle.png" cannot be found.

我试过这种方式:

CreateBitmapImage("/CL.New;component/Images/CustomMessageBox/cross-circle.png");

...

bitmapImage.UriSource = new Uri(uri, UriKind.Relative);

...这似乎有效,但图像不显示(没有错误信息)。

1 个答案:

答案 0 :(得分:1)

ptk93:您是否将图像声明为“资源”?

<强> - &GT;溶液