0
我有一個帶有RichTextBlock和TreeView的Silverlight 5 NavigationApplication。每次點擊某個TreeView項目時,我都會使用代碼隱藏將一些圖像添加到RichTextBlock中。問題在於有時當TreeView的SelectedItem改變時,一些添加的圖像不會出現在RichTextBlock中。但是當我多次更改TreeView的SelectedItem時,圖像再次出現! 我認爲這是因爲圖像緩存,然後嘗試使用圖像沒有緩存,但它是一樣的。 在運行時我加載圖片的代碼是這樣的:RichTextBlock中的圖像隨機獲得
var uri = new Uri(imageSource, UriKind.Relative);
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bitmapImage.UriSource = uri;
bitmapImage.ImageFailed += image_ImageFailed;
bitmapImage.ImageOpened += image_ImageOpened;
var border = new Border() { Width = 500, Height = 400 };
var image = new Image()
{
HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch,
VerticalAlignment = System.Windows.VerticalAlignment.Stretch,
Source = bitmapImage
};
border.Child = image;
paragraph.Inlines.Add(new InlineUIContainer()
{
Child = border
});
,如果我離開BitmapCreationOption
到它的默認值,每個圖像只出現一次,如果我點擊後面的是樹型視圖再次,沒有圖像將在所有出現!
我已經嘗試創建不同大小的圖像,但沒有變化,而且我也測試了從絕對Uri加載圖像,但是這沒有幫助。
我將考慮RichTextBlock中的錯誤! 你認爲傢伙怎麼樣?