创建BitmapImage实例会引发异常(RPC_E_WRONG_THREAD)

时间:2016-09-15 08:47:21

标签: c# multithreading bitmapimage

我尝试在名为BitmapImage的方法中创建IsImageValid的实例。这样做时,我得到了这个例外:

  

应用程序调用了一个为a编组的接口   不同的线程。 (来自hresult的例外:0x8001010e   (RPC_E_WRONG_THREAD))

这是我的代码:

public bool isImageValid(string imagePath)
    {
        try
        {
            string path = ApplicationData.Current.LocalFolder.Path;
            var image = new BitmapImage(); // Exception is thrown here!
            //BitmapImage image = new BitmapImage();
            image.ImageFailed += (s, e) => image.UriSource = new Uri(String.Empty);
            image.UriSource = new Uri(path + @"\" + imagePath);

            if (image != null)
                return true;
            return false;
        }
        catch (Exception e)
        {
            // Do stuff
        }
    }

我是线程的新手,我不明白为什么我不能在这里创建一个实例。有什么问题?

0 个答案:

没有答案