1
我有一個Silver light應用程序需要在Datagrid中綁定圖像,我有一個圖像作爲byte[]
。我有大約500+數據在observablecollection<User>
我怎麼能將我的數據轉換爲圖像,在asp.net我們可以用戶datarowbinding事件,但在silverlight我們怎麼能做到這一點將字節[]轉換爲silverlight中的圖像
我有一個Silver light應用程序需要在Datagrid中綁定圖像,我有一個圖像作爲byte[]
。我有大約500+數據在observablecollection<User>
我怎麼能將我的數據轉換爲圖像,在asp.net我們可以用戶datarowbinding事件,但在silverlight我們怎麼能做到這一點將字節[]轉換爲silverlight中的圖像
在傳統的asp.net我們有這種類型的事件從那我們可以管理行綁定,在Silverlight中,您可以使用ivalueconvertor。 結合具有圖像屬性格式數據圖像aslso在圖像定義爲轉換字節轉換器[]到圖像
<UserControl.Resources>
<Myerp:ConvertByteArrayToImge x:Key="ConvertByteArrayToImge"></Myerp:ConvertByteArrayToImge>
</UserControl.Resources>
<Image x:Name="UploadedIcon" Grid.Column="0" Height="16" Width="16" HorizontalAlignment="Left" VerticalAlignment="Center" Source="{Binding Icon,Converter={StaticResource ConvertByteArrayToImge}}" />
轉換器類
public class ConvertByteArrayToImge : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is byte[])
{
MemoryStream memStream = new MemoryStream((Byte[])value);
memStream.Seek(0, SeekOrigin.Begin);
BitmapImage empImage = new BitmapImage();
if (memStream.Length > 0)
empImage.SetSource(memStream);
return empImage;
}
else
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}