I have a method:
private void DeletePuzzle(object param) { } param is a System.Windows.Controls.SelectedItemCollection, that I got from a WPF ListView's SelectedItems property.
Somehow, I can't seem to cast it from an object to anything useful. I can't create a System.Windows.Controls.SelectedItemCollection because of its protection level, and param won't cast to IList, ICollection or IEnumerable.
How can I iterate through param's items?
Right, got it sorted. I kept trying to cast it like
IList<PuzzleViewModel> collection = (IList<PuzzleViewModel>)param; Which told me it couldn't convert from SelectedItemCollection to IList...
This is in fact what you need to do.
System.Collections.IList items = (System.Collections.IList)param; var collection = items.Cast<PuzzleViewModel>();
from reflector : -
[Category("Appearance"), Bindable(true), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public IList SelectedItems { get { return base.SelectedItemsImpl; } } Selected Items of ListView is an IList, id like to see the calling method.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With