私はMVVMプロジェクトを持っています。1つのビューには複数選択を許可するグリッドがあります。
<DataGrid x:Name="DataGridBodegas" ItemsSource="{Binding MyLis}" Grid.Row="1">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding _MyCommand}" CommandParameter="{Binding ElementName=DataGridBodegas,Path=SelectedItems}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<DataGrid.Columns>
<DataGridTextColumn Header="{x:Static resources:Labels.ACOPIO_SeleccioneBodegas}" Width="Auto" Binding="{Binding StrNombreBodega}" ClipboardContentBinding="{x:Null}"/>
</DataGrid.Columns>
</DataGrid>
VM には ICommand があります
public override void CommandSelectionChange(object p)
{
MyList.RemoveAll(x=> x.IntIdBodega != -1);
MyList = p as List<Merlin_INV_Bodegas>; // Allways return Null
}
調べてみると、ターゲットタイプの要素を持つ ですが、このようにキャストしようとするp object
とSelectedItemCollection
(List<TargetType>)p // Throw exception
p as List<TargetType> // Allways return null
foreach( TargetType t in p)
{
} // Throw exception
私の質問は、 pをリストに適切にキャストするにはどうすればよいですか?