Voici une classe qui convertit une chaîne (provenant d'une base de données d'un serveur SQL) en une image. Comment puis-je appeler une fonction de conversion à partir d'un contrôle XAML Image, de sorte que lorsque j'ouvre un enfant, je vais voir l'image d'un employé en fonction de quelle ligne a été choisie dans le formulaire principal. Fondamentalement, ma question est - puis-je appeler une fonction de conversion qui traduira le texte de la photo à une image lors de l'exécution ?. J'ai essayé quelque chose comme ça ... J'ai utilisé du code pour le faire avant, mais je voudrais le faire directement à partir de XAML.Convertisseur ConvertBase64ToImage de XAML dans Silverlight 3
XAML: -
<Image x:Name="EmpPic"
Source=Text="{Binding Photo, Mode=TwoWay, Converter={StaticResource PhotoConverter}"
HorizontalAlignment="Center"
Width="165"
Height="160"
Margin="2,2,2,2"/>
Code: -
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.IO;
using System.Windows.Media.Imaging;
using System.Windows.Data;
namespace SL3Demo.Utility
{
//public class PhotoConverter : IValueConverter
//{
// //public BitmapImage ConvertBase64ToImage(string base64String)
// //{
// // //Convert Base64 String to byte[]
// // byte[] imageBytes = Convert.FromBase64String(base64String);
// // BitmapImage bi = new BitmapImage();
// // bi.SetSource(new MemoryStream(imageBytes));
// // return bi;
// //}
//}
public class PhotoConverter
{
public BitmapImage PhotoConvert(string value)
{
byte[] imageBytes = Convert.FromBase64String(value.ToString());
BitmapImage bi = new BitmapImage();
bi.SetSource(new MemoryStream(imageBytes));
return bi;
}
}
}
J'ai essayé votre code mais quand je construis je reçois cette erreur: erreur Jeton inattendu Aucune dans Rule: MarkupExtension :: = '{' TYPENAME (Arguments)? @ '}', dans '{Binding Photo, Converter = {StaticResource PhotoConverter}'. Ai-je besoin d'ajouter des paramètres au code XAML pour l'image? –
Il manquait un} dans l'attribut Source. – AnthonyWJones