Silverlight从URL加载图像,但不显示

时间:2009-07-28 04:56:10

标签: xaml silverlight-3.0

看下面的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>

在用户控件的Loaded事件中,我调用以下代码:

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

看着Firebug,图像正在下线,但由于某种原因,它没有显示出来。有没有猜到为什么?您可能希望看到样式,但请注意,如果我删除样式,则不会发生任何变化。

1 个答案:

答案 0 :(得分:2)

啊,简单回答。 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