Good Morning: Today i will teach you how to add controls in ListView. In this article i will add button control and image control. According to my previous article image control bind with source, so it required source for binding, so i have create a ImageSource public property in class. We know that ListView contain only single view i.e GridView. A GridView contain rows and column , also we can say that cell is a combination of rows and column. In this article i have create CellTemplate. Inside the CellTemplate we have a Data Template. In the Code behind page, we have a class with one property i.e "ImageSource", which is used for Image binding. Add a list control with class type, in it we have two images. Lets check the code and their output
XAML Code
<Window x:Class="WpfApplication11.ImageinListview"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ImageinListview" Height="300" Width="300">
<Grid>
<ListView Name="List1" MouseDoubleClick="getSelectedItem">
<ListView.View>
<GridView>
<GridViewColumn Header="Action">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Content="Click Me" Click="Button_Click"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Image">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding ImageSource}" Width="100" Height="100"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
Code Behind Code:
using System.Collections.Generic;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Input;
namespace WpfApplication11
{
/// <summary>
/// Interaction logic for ImageinListview.xaml
/// </summary>
public partial class ImageinListview : Window
{
public ImageinListview()
{
InitializeComponent();
bindlist();
}
private void bindlist()
{
// throw new NotImplementedException();
List<imgs> listr = new List<imgs>();
listr.Add(new imgs() { ImageSource = "/imag/11.png" });
listr.Add(new imgs() { ImageSource = "/imag/bleaching.jpg" });
List1.ItemsSource = listr;
}
private void getSelectedItem(object sender, MouseButtonEventArgs e)
{
imgs imgh = List1.SelectedItems[0] as imgs;
MessageBox.Show(imgh.ImageSource);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
}
}
public class imgs
{
public string ImageSource { get; set; }
}
}
Code generate the following output