我有以下代碼從一個url加載圖像。如果url不存在,則應該加載佔位符。如何檢測未能加載的BitmapImage?
public BitmapImage Image
{
get
{
if (m_image == null)
{
try
{
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(m_photoPath);
image.DecodePixelHeight = s_imagePixelHeight;
image.EndInit();
m_image = image;
}
catch (FileNotFoundException)
{
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(c_placeholderImagePath);
image.DecodePixelHeight = s_imagePixelHeight;
image.DecodePixelWidth = s_imagePixelWidth;
image.EndInit();
m_image = image;
}
}
return m_image;
}
}
我越來越怪異的錯誤 - 當m_photoPath
是導致在任何瀏覽器404的URL,不會引發任何異常。我嘗試過使用HttpWebRequest
來檢查文件是否存在,但每次我打電話給[HttpWebRequest instance].GetResponse()
時,都會有一個非常長的超時(可能無限 - 我沒有等待發現)。所以HttpWebRequest
不是一個選項。有任何想法嗎?
我建議編輯包括添加WPF標記。我希望這是準確的 - 請以不同的方式標記它! – doppelgreener