Forums - C# Corner

Forum guidelines
R sowmya

R sowmya

  • 1.7k
  • 71
  • 270

my list-view doesn’t display images

Mar 6 2019 12:08 AM
my image converter class
  1. public sealed class ImageConverter : IValueConverter  
  2. {  
  3. public BitmapImage ConvertByteArrayToBitMapImage(byte[] imageByteArray)  
  4. {  
  5. if (imageByteArray == nullreturn null;  
  6. var byteBlob = imageByteArray as byte[];  
  7. var ms = new MemoryStream(byteBlob);  
  8. var bmi = new BitmapImage();  
  9. bmi.StreamSource = ms;  
  10. return bmi;  
  11. }  
  12. public object Convert(object value, Type targetType, object parameter, CultureInfo culture)  
  13. {  
  14. BitmapImage img = new BitmapImage();  
  15. if (value != null)  
  16. {  
  17. img = this.ConvertByteArrayToBitMapImage(value as byte[]);  
  18. }  
  19. return img;  
  20. }  
  21. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)  
  22. {  
  23. return null;  
  24. }  
  25. }  
databinding logic
  1. string connection = ConfigurationManager.ConnectionStrings["POSconnection"].ConnectionString;  
  2. SqlConnection con = new SqlConnection(connection);  
  3. SqlCommand cmd = new SqlCommand("SP_Getsubitem", con);  
  4. cmd.CommandType = CommandType.StoredProcedure;  
  5. cmd.Parameters.AddWithValue("@getname""SALADS");  
  6. SqlDataAdapter da = new SqlDataAdapter(cmd);  
  7. DataTable dt = new DataTable();  
  8. DataSet ds = new DataSet();  
  9. da.Fill(dt);  
  10. getdatas.ItemsSource = dt.DefaultView;  
mylistview code in xaml
  1. <ListView x:Name="getdatas" ItemsSource="{Binding}" Margin="-407,-270,47,120.2"    
  2. Grid.RowSpan="2">    
  3. <ListView.ItemContainerStyle>    
  4. <Style TargetType="ListViewItem">    
  5. <Setter Property="BorderThickness" Value="5"/>    
  6. <Setter Property="Margin" Value="10"/>    
  7. <Setter Property="Padding" Value="10"/>    
  8. </Style>    
  9. </ListView.ItemContainerStyle>    
  10. <ListView.ItemTemplate>    
  11. <DataTemplate>    
  12. <StackPanel Orientation="Horizontal">    
  13. <TextBlock Text="{Binding price}" />    
  14. <Image Height="300" Width="300" Source="{Binding ImageFile,    
  15. Converter={StaticResource ImageConverter}}" />    
  16. <TextBlock Text="{Binding ImageFile}" />    
  17. </StackPanel>    
  18. </DataTemplate>    
  19. </ListView.ItemTemplate>    
  20. <ListBox.ItemsPanel>    
  21. <ItemsPanelTemplate>    
  22. <UniformGrid Columns="5" HorizontalAlignment="Stretch"/>    
  23. </ItemsPanelTemplate>    
  24. </ListBox.ItemsPanel>    
  25. </ListView> 

Answers (2)