developer tip

System.Windows.Controls.SelectedItemCollection을 캐스팅하는 방법?

optionbox 2020. 12. 24. 23:38
반응형

System.Windows.Controls.SelectedItemCollection을 캐스팅하는 방법?


방법이 있습니다.

private void DeletePuzzle(object param) 
{
}

param은 System.Windows.Controls.SelectedItemCollectionWPF ListViewSelectedItems속성 에서 얻은입니다 .

어쨌든 나는 그것을 객체에서 유용한 것으로 캐스팅 할 수 없습니다. System.Windows.Controls.SelectedItemCollection보호 수준 때문에을 만들 수 없으며 param이 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>();

반사경에서 :-

[Category("Appearance"), Bindable(true), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public IList SelectedItems
{
    get
    {
        return base.SelectedItemsImpl;
    }
}

ListView의 선택된 항목은 IList이며, 호출하는 방법을보고 싶습니다.


유형 확인 : System.Collections.Generic.IList<(Of <(ListViewDataItem>)>)

참조 URL : https://stackoverflow.com/questions/1877949/how-to-cast-a-system-windows-controls-selecteditemcollection

반응형