Я новичок в wpf .. Я создал список для равномерного отображения изображений.Я сделал класс конвертера для преобразования byte [] в растровое изображение.Здесь изображения загружаются динамически из базы данных.Когда listview загружается, он ничего не отображает.Я приложил свой исходный код.
Это мой код xaml:
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding price}" />
<Image Source="{Binding Path=ImageFile,RelativeSource={RelativeSource AncestorType=ListView}
,Converter={StaticResource ImageConverter}}" Height="300" Width="300" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="5" HorizontalAlignment="Stretch"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListView>
Это мой код класса конвертера:
public sealed class ImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
try
{
return new BitmapImage(new Uri((string)value));
}
catch
{
return new BitmapImage();
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
Это код привязки списка:
private void clickme_Click(object sender, RoutedEventArgs e)
{
string connection = ConfigurationManager.ConnectionStrings["POSconnection"].ConnectionString;
SqlConnection con = new SqlConnection(connection);
SqlCommand cmd = new SqlCommand("SP_Getsubitem", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@getname","Pasta");
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
DataSet ds = new DataSet();
da.Fill(dt);
getdatas.ItemsSource = dt.DefaultView;
}