Supponiamo di avere una classe Person ed collezione di essa impostata come DataContext di una Window.
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
DataContext = GetPeople();
}
private ObservableCollection<Person> GetPeople()
{
var people = new ObservableCollection<Person>();
for (int i = 0; i < 5; i++)
people.Add(new Person { Name = "Name" + i, Age = i });
return people;
}
}
In WPF per inserire in una ListView una colonna contenente un Button dobbiamo modificare il Template dell cella tramite un DataTemplate.
<ListView ItemsSource="{Binding}">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Content="Delete" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Name"
Width="100"
DisplayMemberBinding="{Binding Path=Name}" />
<GridViewColumn Header="Age"
Width="100"
DisplayMemberBinding="{Binding Path=Age}" />
</GridView>
</ListView.View>
</ListView>
Il risultato sarà quello mostrato nella seguente figura.