Windows Phone 7.1 で MVVM Light Toolkit を使用しています
ViewModel の一部:
public RelayCommand<object> ChangeVATCommand
{
get
{
return _changeVATCommand
?? (_changeVATCommand = new RelayCommand<object>(
(vat) =>
{
}));
}
}
Xaml の一部:
<toolkit:ListPicker ItemsSource="{Binding VATs}" x:Name="VATs" SelectedIndex="0" DisplayMemberPath="Name">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding ChangeVATCommand, Mode=OneWay}"
CommandParameter="{Binding Path=SelectedItem, ElementName=VATs}"
/>
</i:EventTrigger>
</i:Interaction.Triggers>
</toolkit:ListPicker>
コマンドが実行されているとき、ラムダに渡される vat は null です。xaml CommandParameter を "{Binding ElementName=VATs}" に設定した場合、ラムダの vat には、適切なプロパティ SelectedItem オブジェクト (null ではない) を持つ ListPicker があります。
これはバグですか、それとも何か間違っていますか?
アップデート
概要:
CommandParameter="{Binding Path=SelectedItem, ElementName=VATs}" - NULL があります
CommandParameter="{Binding Path=SelectedIndex, ElementName=VATs}" - 正常に動作します! 選択したバットのインデックスがあります
- CommandParameter="{Binding ,ElementName=VATs}" - 正常に動作します! 私は適切なselecteditemを持つListPickerを持っています