我與這是一個問題所困擾:我有一個這樣的LonglistSelector:點擊手勢事件+ Longlistselector +頁眉挖掘
<phone:LongListSelector Name="ListContacts"
ItemsSource="{Binding GroupedPeople}"
JumpListStyle="{StaticResource LongListSelectorJumpListStyle}"
GroupHeaderTemplate="{StaticResource LongListSelectorGroupHeaderTemmplate}"
ItemTemplate="{StaticResource LongListSelectorItemTemplate}"
HideEmptyGroups ="True" IsGroupingEnabled ="true" LayoutMode="List">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<mvvmlight:EventToCommand Command="{Binding ListContactsTapCommand, Mode=OneTime}" CommandParameter="{Binding ElementName=ListContacts, Path=SelectedItem}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</phone:LongListSelector>
這是非常相似的PeopleHub在這個環節:http://code.msdn.microsoft.com/wpapps/PeopleHub-Windows-Phone-80-88abe94d
我的問題是點擊事件。當我在信中第一次點擊時,所有的事情都按預期發生。然後,我點擊一個聯繫人以查看更多信息,這一切都很好。
當我在信中再次點擊,因爲點擊事件被觸發兩次發生該問題(我認爲):一個因的SelectedItem不爲null,另一個顯示信的。
在我的ViewModel我有這樣的:
public RelayCommand<Contact> ListContactsTapCommand { get; private set; }
.....
this.ListContactsTapCommand = new RelayCommand<Contact>(contact => ShowContactInformation(contact), contact => contact != null);
private void ShowContactInformation(Contact c)
{
ServiceLocator.Current.GetInstance<ContactInfoViewModel>().ContactInfo = c;
_navigationService.NavigateTo(new Uri(ViewModelLocator.ContactInfoPage, UriKind.Relative));
}
我想可能是解決的方法是重的SelectedItem或隨後的方式來知道我攻。
誰能舉個手? 在此先感謝。
問候