다음은 SQL Server 데이터베이스에서 가져온 문자열을 그림으로 변환하는 클래스입니다. XAML Image 컨트롤에서 변환 함수를 호출하여 하위 양식을 열 때 기본 양식 DataGrid에서 선택된 행을 기반으로 개별 직원의 이미지를 볼 수 있도록하려면 어떻게해야합니까? 기본적으로, 내 질문은 - 런타임에 사진 텍스트를 이미지로 변환하는 변환기 기능을 호출 할 수 있습니까? 나는 이와 같은 것을 시도했다 ... 전에 이것을하기 위해 코드를 사용했지만 XAML에서 직접하고 싶다.Silverlight 3의 XAML에서 ConvertBase64ToImage 변환기
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"/>
코드 : -
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;
}
}
}
나는 코드를 시도했지만 내가 빌드 할 때이 오류가 얻을 : 오류 을 규칙에서 예기치 않은 토큰 없음 : MarkupExtension :: = '{'TYPENAME (Arguments)? @ '}', '{Binding Photo, Converter = {StaticResource PhotoConverter}'에 있습니다. 이미지의 XAML에 매개 변수를 추가해야합니까? –
원본 특성에서 누락 된}이 (가) 있습니다. – AnthonyWJones