Dear users: I have a datagridview that im using in a windows form with c sharp, this datagridview has columns as follows:
Posting this answer because the OP requested it.
This is how you would do that in WPF:
Code Behind:
public partial class ListBoxInCell : Window
{
public ViewModel ViewModel { get; set; }
public ListBoxInCell()
{
InitializeComponent();
DataContext = ViewModel = new ViewModel();
}
private void ShowDetail(object sender, RoutedEventArgs e)
{
MessageBox.Show(ViewModel.SelectedItem.SelectedDetail);
}
}
ViewModel:
public class ViewModel
{
public List Items { get; set; }
public Data SelectedItem { get; set; }
public ViewModel()
{
//Sample Data
Items = Enumerable.Range(0, 100).Select(x => new Data
{
Product = "Product" + x.ToString(),
Details = Enumerable.Range(0, 3)
.Select(d => "Detail" + x.ToString() + "-" + d.ToString())
.ToList()
}).ToList();
SelectedItem = Items.First();
}
}
Data Item:
public class Data
{
public string Product { get; set; }
public List Details { get; set; }
public string SelectedDetail { get; set; }
}
Result:
ListBox
inside each row is indiviual, you may want to keep only 1 selected Item by setting all the others to null
with a simple LINQ query and an iteration.File -> New Project -> WPF Application
and see the results for yourself.