Вывод изображения из бд в Image
На странице есть такой ListView, внутри которого содержится Image
<ListView x:Name="BuildingObjectsListView"
Grid.Row="2"
BorderThickness="0"
HorizontalAlignment="Center">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Width="332" Background="#4CFFFFFF">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="132*"/>
<ColumnDefinition Width="200*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.RowSpan="3" Margin="0,0,12,0" Width="120" Height="120" HorizontalAlignment="Left">
<Image Source="{Binding Path=HouseProject, Converter={StaticResource ImageConverter}}" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
<TextBlock Grid.Column="1" Grid.ColumnSpan="3" Text="{Binding CadastralNumber}" FontSize="16" VerticalAlignment="Center"/>
<TextBlock Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" Text="{Binding Description}" TextWrapping="Wrap"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="6"/>
</Style>
</ListBox.ItemContainerStyle>
</ListView>
На странице c#
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace KraftHouse.Pages
{
/// <summary>
/// Логика взаимодействия для BuildingObjectsPage.xaml
/// </summary>
public partial class BuildingObjectsPage : Page
{
public static BuildingCompanyEntities db { get; set; }
public string clients;
public BuildingObjectsPage()
{
InitializeComponent();
BuildingObjectsListView.ItemsSource = GetClients().ToList();
}
public static IEnumerable<BuildingObjects> GetClients()
{
using (var db = new BuildingCompanyEntities())
{
return db.BuildingObjects.ToList();
}
}
}
}
Для изображения такой конвертер
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media.Imaging;
namespace KraftHouse
{
class ImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string bytes = (string)value;
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.UriSource = new Uri(bytes, UriKind.Relative);
bitmap.EndInit();
return bitmap;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}
}
В базе данных sql server в таблице BuildingObjects путь к изображению хранится в varchar Все это сделал, но изображение не появляется