Comment associer un tableau d'octets à une image dans WPF avec un convertisseur de valeur?

Je suis en train de lier un tableau d'Octets à partir de mon databse à WPF Image.

Mon XAML:

<Window.Resources>
    <local:BinaryImageConverter x:Key="imgConverter" />
</Window.Resources>
...
<Image Source="{Binding Path=ImageData, Converter={StaticResource imgConverter}}" />

J'ai modifié le code publié par Ryan Cromwell pour une valeur converter:

Class BinaryImageConverter
    Implements IValueConverter
    Private Function Convert(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert
        If value IsNot Nothing AndAlso TypeOf value Is Byte() Then
            Dim bytes As Byte() = TryCast(value, Byte())
            Dim stream As New MemoryStream(bytes)
            Dim image As New BitmapImage()
            image.BeginInit()
            image.StreamSource = stream
            image.EndInit()
            Return image
        End If
        Return Nothing
    End Function
    Private 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 Exception("The method or operation is not implemented.")
    End Function
End Class

La jemage.EndInit() ligne de la BinaryImageConverter Convert() fonction lance cette NotSupportedException:

"Pas de composante d'imagerie adapté à
effectuer cette opération a été trouvé."

InnerException: "Exception de
HRESULT: 0x88982F50"

Je ne comprends pas ce que je fais mal. Comment puis-je obtenir ce travail?


Mise à jour

Il semble que le problème a été les octets en provenance de la base de données. Il doit y avoir eu un problème avec la façon dont j'ai été mettant en.

Voir mon code de travail ci-dessous.

source d'informationauteur Zack Peterson