Silverlight зарежда изображение от URL, но не се показва

Вижте следния XAML:

<Grid>
<HyperlinkButton x:Name="Link" Background="Green">
    <Grid Background="Red">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="12" />
        </Grid.RowDefinitions>
        <Image x:Name="AvatarImage" Style="{StaticResource AvatarStyle}" Grid.Column="0" Grid.Row="0" />
        <StackPanel Grid.Column="1" HorizontalAlignment="Stretch">
            <TextBlock Text="New Topic" Style="{StaticResource ItemTypeStyle}" />
            <TextBlock x:Name="Title" Style="{StaticResource HeadlineStyle}" TextWrapping="Wrap" />
            <TextBlock x:Name="SubText" Style="{StaticResource TextStyle}" TextWrapping="Wrap" />
        </StackPanel>
        <TextBlock x:Name="TimeStampText" Grid.ColumnSpan="2" Grid.Row="1" Style="{StaticResource TimeStampStyle}" />
    </Grid>
</HyperlinkButton>

In the user control's Loaded event, I call the following code:

var imageUrl = new Uri("http://coasterbuzz.com/Forums/UserAvatar.ashx?id=2");
AvatarImage.Source = new BitmapImage(imageUrl);

Гледайки Firebug, изображението се спуска по кабела, но по някаква причина не се показва. Някакви предположения защо? Вероятно бихте искали да видите стиловете, но имайте предвид, че ако премахна стиловете, нищо не се променя.


person Jeff Putz    schedule 28.07.2009    source източник


Отговори (1)


А, лесен отговор. Silverlight 2 не поддържа GIF.

Тук има няколко решения за преобразуване на сървъра на изображението: http://silverlight.net/forums/t/3883.aspx

Най-официалната причина, която мога да намеря:

Защо поддръжката за показване на .gif изображение липсва? Кога ще бъде добавен?

Не искаме да поемем удара за друг кодек. Може да отнеме само малко време за изтегляне, но нашият мандат е малък и бърз и всяко малко е от значение. Също така се колебаем дали да поддържаме .gif, защото това предполага поддръжка за анимирани .gif, които решихме, че ще трябва да бъдат интегрирани по някакъв начин в нашата анимационна схема - и това ще бъде много работа.

Погледнато от гледна точка на Flash, Flash също не поддържа .gif. Към момента обаче това е нещо, което се оценява, но не е обявена дата

http://blogs.msdn.com/ashish/archive/2008/04/03/silverlight-roadmap-questions.aspx

person russau    schedule 28.07.2009
comment
Това е Silverlight 3. Странното тук е, че се показваше в един момент. - person Jeff Putz; 28.07.2009
comment
Няма значение, беше странна странност на графика, която не беше от типа, който мислех, че е. - person Jeff Putz; 28.07.2009