Hi, Could you please help me figure out how I could bind "SelectedItems" of a listbox? Here I have a 'listbox_2' that contains a list of fruits and vegetables ;) There's another 'listbox_1' that contains groups of fruits and vegetables (under a list format...maybe is it my first error? Should it rather be a list of fruits/vegetables?) and a recipe. I would like that on each group selection (in listbox_1), the corresponding fruits and vegetables would be selected (in listbox_2)...and make it possible to modify that list https://i.imgur.com/nENJTCY.jpg Unfortunately, the way to achieve this behavior stays obscure to me...could you please help? Here's what I've set up untill now: C#
public partial class MainWindow : Window
{
ItemList il;
GroupList gl;
public MainWindow()
{
InitializeComponent();
}
private void Window\_Loaded(object sender, RoutedEventArgs e)
{
il = new ItemList();
ICollectionView cvs = CollectionViewSource.GetDefaultView(il);
cvs.SortDescriptions.Add(new SortDescription("\_type", ListSortDirection.Ascending));
cvs.SortDescriptions.Add(new SortDescription("\_name", ListSortDirection.Ascending));
cvs.GroupDescriptions.Add(new PropertyGroupDescription("\_type"));
ListBox2.ItemsSource = cvs;
gl = new GroupList();
ICollectionView cvt = CollectionViewSource.GetDefaultView(gl);
ListBox1.ItemsSource = cvt;
}
}
public class Item
{
public string \_type { get; set; }
public string \_name { get; set; }
public Item()
{
}
}
public class ItemList : ObservableCollection {
public ItemList() {
base.Add(new Item() { \_type = "fruit", \_name = "apple" });
base.Add(new Item() { \_type = "vegetable", \_name = "potato" });
base.Add(new Item() { \_type = "fruit", \_name = "banana" });
base.Add(new Item() { \_type = "vegetable", \_name = "tomato" });
base.Add(new Item() { \_type = "fruit", \_name = "pear" });
base.Add(new Item() { \_type = "vegetable", \_name = "salad" });
base.Add(new Item() { \_type = "fruit", \_name = "orange" });
base.Add(new Item() { \_type = "vegetable", \_name = "onion" });
}
}
public class Group
{
public string \_groupname { get;