0

Assalamu'alaikum. Привет, ребята, у меня возникла проблема, когда я конвертирую образ байта данных в изображение на PictureBox в Windows Phone. В нем говорится: «InvalidCastExpection был необработанным».Невозможно преобразовать байт в изображение Windows Phone

Это код позади:

Namespace WP7_ClientApp 
    Public Class ImageConverter 
     Implements IValueConverter 
     Public Function ubah(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert 
      Dim memStream As New MemoryStream(CType(value, Byte())) 
      memStream.Seek(0, SeekOrigin.Begin) 
      Dim gambar As New BitmapImage() 
      gambar.SetSource(memStream) 
      Return gambar 
     End Function 

     Public Function ConvertBack(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack 
      Throw New NotImplementedException() 
     End Function 
    End Class 
End Namespace 

Тогда это XAML код:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
      <ListBox x:Name="daftar" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="599" VerticalAlignment="Top" Width="456" Margin="12,10,0,0" Grid.Row="1"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
        <StackPanel Orientation="Horizontal" > 
         <Image Height="100" Source="{Binding gambar,Converter={StaticResource ImageConverter}}" HorizontalAlignment="Left" Margin="10,10,0,0" Name="Image1" Stretch="Fill" VerticalAlignment="Top" Width="100" /> 
         <TextBlock Margin="10" Text="{Binding id}"/> 
         <TextBlock Margin="10" Text="{Binding namaproduk}"/> 
         <TextBlock Margin="10" Text="{Binding hargaproduk}"/> 
         <TextBlock Margin="10" Text="{Binding keterangan}"/> 
        </StackPanel> 
        </DataTemplate> 
        </ListBox.ItemTemplate> 
      </ListBox> 
     </Grid> 

И тогда это скриншот ошибки: http://4.bp.blogspot.com/-qWB7oKLVE-s/UfpE0jhnhsI/AAAAAAAABuo/2eNvw2AmTEk/s1600/Capture.PNG

Любой человек может решить эту проблему? Я был бы очень рад, спасибо.

* Примечание: Тип Гамбар данные изображения, который имеет тип данных байт, мой стол: http://4.bp.blogspot.com/-2ZMzi32TXsg/UfpJ5RqRG6I/AAAAAAAABu4/qe81rZm1pq0/s320/Capture.PNG

+0

Это просто означает, что ваша собственность 'gambar' не является байтовым массивом –

+0

На основании вашего снимка экрана проблема, скорее всего, будет связана с' CType (value, Byte()) '. Возможно, стоит проверить, что 'value' определенно является байтовым массивом и что' CType' действителен для преобразования. –

+0

@KooKiz & Martin Parkin: Спасибо за ваш ответ, тип данных gambar - это «Изображение», которое имеет тип данных байта, что не так? Это мой скриншот таблицы: http://4.bp.blogspot.com/-2ZMzi32TXsg/UfpJ5RqRG6I/AAAAAAAABu4/qe81rZm1pq0/s320/Capture.PNG –

ответ

0

Ваш объект типа Binary, пока ваш преобразователь ожидает массив байтов. Вместо привязки вашего контроля к gambar, привяжите к gambar.Bytes.

+0

Спасибо, сэр. :) –

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