如何投射一个System.Windows.Controls.SelectedItemCollection?
我有一个方法:
private void DeletePuzzle(object param) { }
param是一个System.Windows.Controls.SelectedItemCollection
,我从WPF的ListView
的SelectedItems
财产。
不知何故,我似乎无法将它从一个对象转换为任何有用的东西。 我不能创build一个System.Windows.Controls.SelectedItemCollection
因为它的保护级别,参数不会强制转换为IList
, ICollection
或IEnumerable
。
我怎样才能迭代param的项目?
对,把它分类。 我一直试图把它像
IList<PuzzleViewModel> collection = (IList<PuzzleViewModel>)param;
这告诉我它不能从SelectedItemCollection转换为IList …
这实际上是你需要做的。
System.Collections.IList items = (System.Collections.IList)param; var collection = items.Cast<PuzzleViewModel>();
从reflection器: –
[Category("Appearance"), Bindable(true), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public IList SelectedItems { get { return base.SelectedItemsImpl; } }
ListView的选定项是一个IList,id喜欢看调用方法。
检查types: System.Collections.Generic.IList<(Of <(ListViewDataItem>)>)