代码之家  ›  专栏  ›  技术社区  ›  Jeff Putz

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

  •  2
  • Jeff Putz  · 技术社区  · 17 年前

    请看以下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 回复  |  直到 17 年前
        1
  •  2
  •   russau    17 年前

    啊,简单的回答。Silverlight 2不支持GIF。

    这里有几个转换图像服务器端的解决方案: http://silverlight.net/forums/t/3883.aspx

    我能找到的最正式的原因是:

    为什么支持显示.gif 图像丢失?当它将 补充?

    我们不想因为 另一个编解码器。可能只是一点点 一点下载时间,但我们的授权 小而快,每一点点 计数。我们也在犹豫 支持.gif,因为它意味着 支持动画.gif,我们 决定必须整合 以某种方式进入我们的动画计划 那将是很多工作。

    从闪光灯的角度看,闪光灯 也不支持.gif。然而, 就目前而言,这是 已评估,但没有日期 宣布

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

    推荐文章