代码之家  ›  专栏  ›  技术社区  ›  meds

无法在Silverlight中加载外部图像

  •  1
  • meds  · 技术社区  · 14 年前

    我正在尝试从Silverlight中的URL加载图像,并已按照以下步骤操作: this site 但无济于事。

    我的代码如下:

     imageUri = new Uri("http://php.scripts.psu.edu/dept/iit/hbg/philanthropy/Images/BlueSkyLarge.jpg", UriKind.Absolute);
     System.Windows.Media.Imaging.BitmapImage bi = new    System.Windows.Media.Imaging.BitmapImage();
     bi.UriSource = imageUri;
     m_Image.Source = bi;
    
     m_Image.ImageOpened += new EventHandler<RoutedEventArgs>(Image_Opened);
    

    也不会调用回调函数(image_opened)。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Adam Sills    14 年前

    您的Silverlight应用程序是否从php.scripts.psu.edu域运行?如果不允许,Silverlight将阻止对它的访问,因为它将不允许向应用程序加载来源以外的任何域发出TCP请求。

    here 用于Silverlight中的网络限制。

    编辑:评论是对的。这是你现在看到的跨区域问题。 Here's a link 有一个表指示一个图像(包括其他图像)能做什么和不能做什么。

        2
  •  -1
  •   Francesco De Vittori    14 年前

    在代码中,我要解决的另一个问题是在末尾附加处理程序。 理论上,如果加载图像,则不能调用事件处理程序 真正地 快。

    我想大多数情况下都不会发生这种情况,但是谁知道呢,缓存/对象重用等等。我将在实例化对象后附加处理程序,以确保安全。