Is there a way to link two items in a ListBox together? What I’m trying to accomplish is allowing a user to delete an item in a ListBox and before that item is removed it either removes the item that is one above it if it’s even or one below if it’s odd. Or is there something else I should be using instead of a ListBox? Here is the part of my code that handles the removal:
private void DeleteItem(string path)
{
var index = FileList.IndexOf(path);
if (index % 2 == 0)
{
FilesList.RemoveAt(index + 1);
}
else
{
FileList.RemoveAt(index - 1);
}
FileList.Remove(path);
}
Do you really need to link two different items or is it just that you need the visual appearance of two items (one above the other) for each object in the list? If the later is the case then you could define a view model and specify an item template in XAML. Then for collection changed logic, you could use ObservableCollection which implements INotifyCollectionChanged and raises a CollectionChanged event.
XAML: