WP8中ListBox的SelectionChanged事件绑定Command问题,求助,在线等
我在WP8中使用MVVMLight框架 4.1.27.22645
在一个ListBox的SelectionChanged事件中绑定一个Command,在ViewModel中没有触发,在线求助。
XAML代码:
<ListBox x:Name="lstProvinces"
ItemTemplate="{StaticResource dtItemTemplate}"
ItemsSource="{Binding Provinces}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<toolkit:WrapPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding ProvinceSelectedChangedCommand, Mode=OneWay}" CommandParameter="{Binding SelectedItem, ElementName=lstProvinces}" />
<!-- CommandParameter="{Binding SelectedItem, ElementName=lstProvinces}" -->
<!-- <i:InvokeCommandAction Command="{Binding ProvinceSelectedChangedCommand}" CommandParameter="ddd" /> -->
</i:EventTrigger>
</i:Interaction.Triggers>
</ListBox>
private RelayCommand<ProvinceModel> provinceSelectedChangedCommand;Windows?Phone?8 ListBox command Binding MVVMLIGHT
/// <summary>
/// Gets the ProvinceSelectedChangedCommand.
/// </summary>
public RelayCommand<ProvinceModel> ProvinceSelectedChangedCommand
{
get
{
return provinceSelectedChangedCommand
?? (provinceSelectedChangedCommand = new RelayCommand<ProvinceModel>(
(province) =>
{
SelectedProvince = province;
//获取当前省份下的城市信息
if (province != null)
{
CitiesLevel1 = selectAddressService.GetCitiesByProvinceCode(province.ProvinceCode);
}
}));
}
}
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<i:InvokeCommandAction Command="{Binding Main.ProvinceSelectedChangedCommand, Source={StaticResource Locator}}" CommandParameter="{Binding }" />
</i:EventTrigger>
</i:Interaction.Triggers>
<TextBlock Text="{Binding Code}"></TextBlock>
<TextBlock Text="{Binding Name}"></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>