2013-06-08 4 views
0

У меня возникли проблемы с получением моего приложения для отображения изображений из Интернета. Это workes штраф в моих данных образцов, как можно видеть:Изображения не отображаются

fine

Но одно приложение работает на Emulate Могу ли я получить это, вы можете увидеть ссылку в текстовом поле:

bad

Это мой код, что я делаю неправильно?

<phone:LongListSelector.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal" Margin="12,2,0,4" Height="105" Width="432"> 
      <!--Replace rectangle with image--> 
      <Image> 
       <Image.Source> 
        <BitmapImage UriSource="{Binding Image}" CreateOptions="BackgroundCreation"/> 
       </Image.Source> 
      </Image> 
      <StackPanel Width="311" Margin="8,-7,0,0"> 
       <TextBlock Text="{Binding Name}" TextWrapping="Wrap" Margin="10,0" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="{StaticResource PhoneFontSizeLarge}" /> 
       <TextBox Text="{Binding Image}" FontSize="10" /> 
      </StackPanel> 
     </StackPanel> 
    </DataTemplate> 
</phone:LongListSelector.ItemTemplate> 

http://i.imgur.com/GcwxIpl.png

+0

Источники изображения - это абсолютные адреса в Интернете? Убедитесь, что Интернет работает вообще в эмуляторе, а также возможность «ID_CAP_NETWORKING» должна быть включена в вашем манифесте приложения. –

+0

Покажите нам, как вы загружаете изображения. –

+0

@MartinSuchan Да, и он находится в Интернете, когда он загружает список персонажей с веб-сайта. – Androme

ответ

0

Единственная причина, вы можете увидеть ваши изображения в том, что ваш код не может загрузить их. Я просто создал простое приложение для телефона Windows для загрузки изображений вручную (просто чтобы узнать, что именно происходит?).

код довольно прост:

XAML:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <StackPanel> 
    <Image> 
     <Image.Source> 
     <BitmapImage UriSource="{Binding Image}" CreateOptions="BackgroundCreation"/> 
     </Image.Source> 
    </Image> 
     <Button Content="go" Click="ClickMe"/> 
    </StackPanel> 
</Grid> 

И код-behinde:

private void ClickMe(object sender, RoutedEventArgs e) 
    { 
     //var url = "http://img7.anidb.net/pics/anime/136529.jpg"; 
     var url = "http://img7.anidb.net/pics/anime/54893.jpg"; 
     HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url); 
     //req.ContentType = "image/jpeg"; 
     //req.Accept = "image/jpeg"; 
     req.Method = "GET"; 
     req.BeginGetResponse(Callback, req); 
    } 

    private void Callback(IAsyncResult result) 
    { 
     try 
     { 
      HttpWebRequest httpReq = (HttpWebRequest)result.AsyncState; 
      HttpWebResponse response = (HttpWebResponse)httpReq.EndGetResponse(result); 

      Stream myStream = response.GetResponseStream(); 
      Deployment.Current.Dispatcher.BeginInvoke(() => 
      { 
       BitmapImage bmp = new BitmapImage(); 
       bmp.SetSource(myStream); 
       var character = new Character(); 
       character.Image = bmp; 
       ContentPanel.DataContext = character; 
       //image1.Source = bmp; 
      }); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 

Когда я пытаюсь загрузить изображение на WP I Recive webException с кодом статистики: System.Net.HttpStatusCode.Forbidden BTW - иногда я получаю эту ошибку, когда пытаюсь получить изображение с помощью веб-браузера. Не так часто, но бывает. Скорее всего, этот веб-сайт не позволяет получать изображения.

Смежные вопросы